问题标签 [azure-ad-graph-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9064 浏览

powershell - 尝试使用 PowerShell 使用 Office 365 统一 API 访问用户时,“CompactToken 解析失败,错误代码:-2147184105”

我正在尝试使用以下代码列出使用 Office 365 统一 API 的用户:

从结果中可以看出,访问令牌似乎已成功生成。但是在尝试列出用户时,我收到以下错误:

我真的不知道我在这里做错了什么!谢谢你的帮助!

0 投票
1 回答
630 浏览

office365 - 通过代码新创建的 Azure AD 应用程序不会生成具有所需角色的令牌

我们正在尝试使用 Microsoft Graph 客户端创建具有“ActivityFeed.Read”权限的 Azure AD 应用程序。下面的示例成功创建了应用程序,但从该应用程序生成的令牌不包含角色“ActivityFeed.Read”。如果我们去 azure 门户并对新创建的应用程序进行任何简单的更改并手动保存并等待一分钟,那么生成的令牌具有所需的角色。

以下是创建新应用程序后立即用于 oauth2 身份验证的解码 jwt 令牌数据。

下面是解码后的用于 oauth2 身份验证的 jwt 令牌数据,我们进行了一些手动更改并保存后。

请让我们知道如何以编程方式创建具有所需角色的应用程序。

0 投票
3 回答
2201 浏览

json - 图形 API 请求返回“一个或多个属性包含无效值”

我正在尝试在我们公司的 Azure 目录上执行 B2C 用户创建。作为参考,我使用 Microsoft 的这个站点,以及其中的 .DotNet 示例。

https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-graph-dotnet/

我完全按照示例进行操作,并达到了通过身份验证的程度,并且能够提取目录中的 AD 用户。这是我生成的示例请求。

获取 https://graph.windows.net/mycompany/users?api-version=beta

但是当我进入在目录中创建示例用户的部分时,我收到错误响应“一个或多个属性包含无效值”。

发布 https://graph.windows.net/mycompany/users?api-version=beta

这是我使用的有效负载,它与站点示例中用于用户创建的有效负载完全相同。这是 JSON 格式。

{“accountEnabled”:true,“alternativeSignInNamesInfo”:[{“type”:“emailAddress”,“value”:“joeconsumer@gmail.com”}],“creationType”:“NameCoexistence”,“displayName”:“Joe Consumer ", "mailNickname": "joec","passwordProfile": {"password": "P@ssword!","forceChangePasswordNextLogin": false},"passwordPolicies": "DisablePasswordExpiration"}

此有效负载符合基于 Microsoft 的用户创建要求的要求,此外,它与站点示例中的有效负载完全相同,这就是为什么我收到一条属性具有无效值的消息的原因。更糟糕的是,响应没有明确说明哪个值是问题的根源。

任何帮助,将不胜感激。

0 投票
1 回答
133 浏览

microsoft-graph-api - Microsoft.Graph.createLink:400 未指定版本

我正在尝试使用Microsoft.Graph.CreateLink 操作为 OneDrive 项目创建共享链接:

我收到以下错误:

除了 API 端点之外,方法描述或元数据都不包含有关所需版本的任何信息。

0 投票
1 回答
202 浏览

c# - Microsoft.Graph.AttendeeType 未正确枚举

我正在尝试通过 Microsoft Graph API 邀请用户作为与会者来创建一个活动。设置参加者的代码如下:

但是,在发出请求时,我收到了错误的请求响应。原因是参加者的“类型”是 Microsoft.Graph.AttendeeType 的枚举,并且没有正确枚举。因此,它试图通过数值“1”而不是字符串值“Optional”发送,导致它失败。

我能够使用提琴手确认这一点,如果我手动将数值更改为字符串值,那么它就没有问题。

有没有人遇到过这个或有任何想法我可以解决这个问题?

非常感谢您提前提供帮助:)

0 投票
2 回答
2311 浏览

c# - 如何确定电子邮件地址是 Microsoft“工作或学校”帐户还是 Microsoft 帐户

我想在 Azure 多租户环境中对 Microsoft 帐户和“工作或学校”帐户进行身份验证。每种身份验证类型需要不同的请求。如果我尝试针对“工作或学校”请求以 Microsoft 帐户登录,则登录将在 Microsoft 登录时失败,并且不会返回到我的应用程序。

有没有办法查询给定的电子邮件地址是否是针对 Microsoft 图形 API 的“工作或学校”帐户?

0 投票
1 回答
471 浏览

azure-active-directory - 如何使用客户端发送的相同 Bearer 令牌,使用 Azure Graph API 授权用户使用 SecurityGroup

我正在按照此示例https://github.com/Azure-Samples/active-directory-dotnet-native-headless使用用户凭据(uname,pwd)针对 Azure AD 对用户进行身份验证,以获取承载访问令牌。此令牌将在 Authorization 标头中发送到 Rest API。REST API 使用令牌授权使用 ClaimPrincipal 的用户。

现在,在我的 Rest API 中,我想验证用户是否属于特定的安全组。为此,我需要使用 Graph API。但问题是,每次我将相同的承载令牌传递给我的 REST API 从客户端收到的 Graph API 时,它都会引发“访问令牌格式错误”错误。

在其中一个示例(https://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof/blob/master/TodoListService/Controllers/TodoListController.cs)中,我发现我们需要重新生成一个新的承载令牌调用 Graph API,是否需要重新生成新的 Token 才能调用 Graph API?我不能使用客户端发送到我的 REST API 的相同承载令牌来调用 Graph API 吗?

0 投票
1 回答
1784 浏览

oauth - Active Directory 身份验证库程序化 SSO

我们正在使用 ADAL C# 库来获取 Azure AD Applciations(包括 Graph API)的令牌。

我们使用本地 ADFS 3.0 服务器为我们的 Azure AD 设置了 AD Connect。因此,当本机客户端应用程序调用....

弹出一个 MSOnline 登录窗口,立即重定向到我们的 ADFS 服务器

然后立即关闭,因为 NTLM(Windows 集成)身份验证发生并成功......并result包含我们abc.com域上登录 Windows 用户的有效访问令牌。

虽然这个过程不需要任何点击......它仍然是“交互式的”。我希望能够利用 Windows 集成身份验证在非交互式环境(例如 Windows 服务或计划任务)中以编程方式获取此类访问令牌。这样我就不必在我们的 Windows 服务或计划任务中嵌入客户端机密。

这可能吗?

更新:这是代码行

和确切的错误:

另一个更新:

这有效(客户端 ID 和租户与用户的主租户相同)

var authenticationContext = new AuthenticationContext(" https://login.microsoftonline.com/mycorp.onmicrosoft.com ");

更新 - 这是 Fiddler 的捕获

还有一个更新...

如果我尝试使用集成身份验证(请注意它确实会尝试正确重定向到我们的 ADFS ......):

0 投票
3 回答
2620 浏览

azure-active-directory - 如何以编程方式在 Azure AD 中创建应用程序

每当有对新环境的请求时,我目前都在 Azure Active Directory 上手动创建我的应用程序。我正在探索通过 REST API 从代码创建这些应用程序的方法。如图所示,我通过使用“client_credentials”成功地在现有应用程序上创建用户和组。

以类似的方式,我尝试使用从上面生成的“access_token”来创建一个新的应用程序 adClient.Applications.AddApplicationAsync(newApplication).Wait()

但这会引发错误-“权限不足,无法完成操作”。

我查看了其他线程和 Azure AD msdn 页面,结果发现 client_credentials 流不支持创建/更新应用程序。

使用客户端凭据流以编程方式在 Azure AD 中添加应用程序

上面的线程还提到了解决方法是使用“grant_type=password”流程。我按照建议尝试了它,但我不断收到以下错误,这对我来说没有意义。

这是我要命中的有效负载和端点。传递的用户是我要在其中创建应用程序的 AD 的所有者

任何关于我可能出错的想法或建议将不胜感激。

0 投票
1 回答
708 浏览

azure-active-directory - Azure ADAL 集成安全性

我正在尝试让集成安全性(通过 ADFS 通过 NTLM)从 Azure ADAL .NET 客户端(v2.19)工作。我们的 ADFS 服务器正在运行启用了表单和 Windows 身份验证的 ADFS 3.0(如此处所述http://blogs.msdn.com/b/josrod/archive/2014/10/15/enabled-forms-based-authentication-in-adfs -3-0.aspx)。

我目前进行了以下尝试并收到以下错误: