问题标签 [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 投票
1 回答
3861 浏览

c# - Azure Active Directory - 如何以编程方式将应用程序角色分配给组

我正在寻找使用 Azure AD 创建基于角色的授权 mvc 应用程序:

从 Azure 门户,我能够:

  • 创建用户和组。
  • 将用户分配到组。
  • 创建应用程序角色。
  • 创建应用程序角色(通过修改清单)
  • 将应用程序角色分配给用户。

我刚刚获得了一个免费的 Azure Active Directory 版本,并且我读到我们可以使用Microsoft Azure Active Directory来执行这些操作:

  • 为用户分配多个应用程序角色。
  • 将多个应用程序角色分配给组。

Microsoft 提供了很好的示例来查询 AAD,我已经开始使用它,但我不知道如何将应用程序分配给组。

这是我获取组的伪代码:

我想做的是这样的:

但是 AppRoleAssignments 的类型是IPagedCollection<IAppRoleAssignment>并且没有 Add 方法。

有谁知道我需要在我的代码中修改什么?

0 投票
2 回答
702 浏览

c# - 新的 Azure AD 应用程序在通过管理门户更新之前无法运行

我使用 AAD Graph API 在 Azure AD 中创建了一个新应用程序。(代码

不幸的是,在我访问 Azure 管理门户中的应用程序配置页面并进行外观更改并保存之前,它不会让我的客户访问请求的资源。删除更改并再次保存后,它仍然有效。更改 + 回退步骤之前和之后的应用程序清单文件完全相同(如 diff.exe 中所说的它们是相同的)。

在比较应用程序验证时返回的 JWT 令牌时,它表明更改后访问令牌包含“角色”部分。将应用程序保存在管理门户中之前返回的访问令牌中不存在整个“角色”部分。

因此,在保存更改时,Azure 管理门户似乎对应用程序做了“某些事情”。问题是它是什么,我可以使用 AAD 图形 API 做同样的事情吗?

0 投票
1 回答
541 浏览

azure - Azure AD 图形 API 用户 IsInRole 嵌套组

我按照本教程创建了一个基于角色的应用程序:

在我的 Azure Active Directory (AAD)(免费版)中:

  • 我创建了一个用户:“管理员”。
  • 我创建了一个组:“开发人员”。
  • 我创建了一个应用程序角色:“admin”(使用应用程序清单)。
  • 我已将应用程序角色“管理员”分配给“开发人员”组(使用图形 api)。

在我的应用程序中,我现在可以使用该User.IsInRole方法来验证我的用户是否获得了应用程序角色“管理员”。

我想测试这是否适用于嵌套组,所以在我的 AAD 中:

  • 我已从“开发人员”组中删除了“管理员”用户。
  • 我创建了第二个名为“SubDevelopers”的组。
  • 我已将“admin one”用户添加为“SubDevelopers”的成员。
  • 我已将“SubDevelopers”组添加为“Developers”组的成员(使用 Graph API)。

现在该User.IsInRole("admin")方法为“管理员一个用户”返回 false ...

我是否遗漏了什么,是否可以检查嵌套组中用户的角色?是否可用于 AAD 免费版?

0 投票
1 回答
118 浏览

c# - 在本机应用程序中从 AAD 获取组和角色详细信息

我是否能够使用 Graph API 从本机应用程序获取用户的组、角色详细信息。由于它是本机应用程序,因此我没有客户端密码。请告诉我。我提到

  1. http://www.dushyantgill.com/blog/2014/12/10/authorization-cloud-applications-using-ad-groups/
  2. https://github.com/Azure-Samples/active-directory-dotnet-webapp-groupclaims
0 投票
1 回答
160 浏览

rest - Office 365 REST API - 用户活动

在 Azure AD 中,您可以查看已用于访问用户帐户的活动和设备。

例子:

在此处输入图像描述

是否可以通过 Microsoft Graph API 查询此信息?我一直无法找到完成此操作的 API 调用。

0 投票
1 回答
1375 浏览

asp.net-mvc - Azure Active Directory - MVC 应用程序存储访问令牌的最佳实践

我使用 Azure Active Directory(AAD) 设置了一个简单的 MVC 应用程序。

我需要查询 AAD Graph API 以便从我的应用程序管理应用程序角色和组。

Startup课堂上,我收到了这样的 AccessToken:

要实例化ActiveDirectoryClient该类,我需要传递 AccessToken :

我想知道将 AccessToken 存储为声明是否是一个好的解决方案(添加到Startup类中的行)?

EDIT Token 已存储..

得到它 !!!谢谢乔治。因此,我的 Token 已使用TokenDbCache该类存储在数据库中。

根据示例再次获取它(在我的一个控制器中):

我不知道的是AuthenticationContext:如果令牌已经被请求,它将从TokenDbCache.

0 投票
1 回答
3113 浏览

azure - 使用服务主体创建 Azure AD 应用程序时权限不足,无法完成操作

按照此处概述的代码:

但是在尝试创建应用程序时,使用服务主体进行身份验证会出现权限不足

代币交换如下:

0 投票
2 回答
7146 浏览

office365 - 如何通过 Microsoft Graph API 检索 itemAttachment 的内容

我目前正在开发一种通过 Microsoft Graph API 检索电子邮件的解决方案。2015 年 11 月,Microsoft 表示它已准备好投入生产,我在另一篇论坛帖子中读到,如果您现在开始使用 Microsoft API 进行开发,您应该使用 Graph API,因为它是未来。

一切都很顺利,除了一件事,那就是以下。

我必须检索电子邮件。在这些电子邮件中当然有附件。这些附件有一些变化。fileAttachment(图像、文档等)、referenceAttachments 和 itemAttachments(outlook-item)。这里的问题在于 itemAttachments。itemAttachment 可以是从约会到另一条消息的任何内容。这里的问题是我无法以某种适用于 fileAttachments 的方式获取和检索 contentBytes。与 itemAttachment 相关的对象是 outlookItem。还有一个页面对此outlookItem 进行了描述,但缺少示例和详细信息。用户权限设置为 Mail.Read 和 Mail.ReadWrite。

链接:一般概述:http : //graph.microsoft.io/docs/overview/overview 获取 outlookItem(空?):

我得到的示例呼叫和响应。请注意附件的类型。 https://graph.microsoft.com/v1.0 /users/ /messages/ /attachments

我试图通过粘贴带有或不带有消息路径和扩展功能(仅支持一层深度)的附件 id 来更改 GET 语句,但我似乎找不到解决方案。我发现的是这个问题,有点相同,但它适用于 office365 统一 API。如何从 Office 365 REST API 检索 ItemAttachment 内容?.

那么问题来了:如何通过 Microsoft Graph API 检索 outlookItem 的内容?我怎么知道会发生什么?任何人都可以帮助我克服这个障碍。

0 投票
0 回答
763 浏览

c# - 如何解析派生类型的Json数组?

这是我从 Web 服务获得的 JSON 响应:

“值”标记下的数组中的元素具有不同的派生类型。
DomainDnsRecord抽象基类,从基类继承的类是DomainDnsTxtRecordDomainDnsMxRecord
在给定的 JSON 数组中(但并非总是如此!),第一个元素是 of DomainDnsTxtRecord,第二个元素是DomainDnsMxRecordtype。

包含有关给定元素是什么类型的信息的字段是:“recordType”。

将这个 JSON 数组反序列化为基类列表的最简单、最方便的方法是什么,例如List<DomainDnsRecord>(例如使用 Newtonsoft)?

0 投票
2 回答
342 浏览

office365 - 带有 GraphAPI 的 Office365 家庭版返回 invalid_grant 错误

每个人,

我使用新发布的 Graph API v1.0 做了一个小 django 应用程序。我使用 oauth2 协议获取令牌,刷新令牌。当我使用不同的 Office365 开发人员帐户时,一切正常,但我得到了某人使用他的 Office365 家庭版的回报,他根本无法获得授权。

他收到以下错误消息:

是不是只有office365的Developer和business account才能使用Graph API?

非常感谢你的帮助。

问候