- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用 Azure Active Directory 获取 OutLook 中的组成员列表。我已经在 Azure 门户中注册了我的应用程序。我是这个 Azure API 的新手。我的问题是通过 C# 获取特定组的成员列表。
我有应用程序、客户端 ID、对象 ID、租户 ID、URI、客户端 key 。但我不知道如何使用它?
我的目标是如果我给组邮件 ID 意味着应该显示组列表!
最佳答案
我们可以使用Azure AD Graph列出特定组的成员,您可以从here查看REST .
我们可以使用客户端凭据流程通过 Azure AD 进行身份验证,无需用户交互。要将 Azure AD Graph 与客户端凭据流程结合使用,我们需要首先向应用授予应用程序权限,如下所示:
以下是使用此流程打印成员的代码示例,供您引用:
安装 Active Directory 身份验证库:
Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory
安装 Microsoft Azure Active Directory 图形库:
Install-Package Microsoft.Azure.ActiveDirectory.GraphClient
代码:
static void Main(string[] args)
{
string authority = "https://login.microsoftonline.com/{0}";
string graphResourceId = "https://graph.windows.net";
string tenantId = "xxxx.onmicrosoft.com";
string clientId = "";
string secret = "";
authority = String.Format(authority, tenantId);
Uri servicePointUri = new Uri(graphResourceId);
Uri serviceRoot = new Uri(servicePointUri, tenantId);
AuthenticationContext authContext = new AuthenticationContext(authority);
var accessToken = authContext.AcquireTokenAsync(graphResourceId, new ClientCredential(clientId, secret)).Result.AccessToken;
ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(serviceRoot, async () => await Task.FromResult(accessToken));
var groupFetcher = (IGroupFetcher)activeDirectoryClient.Groups.ExecuteAsync().Result.CurrentPage.First(g => g.Mail == "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6c0b1e03191c5d2c1414141442030201050f1e031f030a18420f0301" rel="noreferrer noopener nofollow">[email protected]</a>");
var membersResult = groupFetcher.Members.ExecuteAsync().Result;
PrintMembers(membersResoult);
while (membersResoult.MorePagesAvailable)
{
membersResoult = membersResoult.GetNextPageAsync().Result;
PrintMembers(membersResult);
}
Console.ReadLine();
}
static void PrintMembers(IPagedCollection<IDirectoryObject> pageCollection)
{
foreach (var member in pageCollection.CurrentPage)
{
var user = member as Microsoft.Azure.ActiveDirectory.GraphClient.User;
if (user != null)
Console.WriteLine(user.DisplayName);
else
{
var groupMember = member as Microsoft.Azure.ActiveDirectory.GraphClient.Group;
Console.WriteLine(groupMember.DisplayName);
}
}
}
安装包以帮助解码 token (install-package System.IdentityModel.Tokens.Jwt)
string accessToken = "";
var handler = new JwtSecurityTokenHandler();
var tokenS = handler.ReadToken(accessToken) as JwtSecurityToken;
foreach (var claim in tokenS.Claims)
{
Console.WriteLine($"{claim.Subject}:{claim.Value}");
}
关于c# - 如何获得AAD群成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619291/
来自他们的文档 - https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta-how-it-
AAD 管理角色只能直接分配给用户。无法通过 AAD 组分配它们。 现在 PIM 中有一个“特权访问组(预览)” Pane ,但我找不到任何方法在 Azure AD 组管理中启用角色可分配组。因此,P
AAD 应用程序需要哪些 OAuth API 和权限,以便我可以使用它来授权创建新的 AAD 应用程序,如本 example 中所述。 最佳答案 您可以在 Azure AD Graph API 上向应
我正在配置一堆 Azure Active Directory (AAD) 应用程序,并希望同一组用户成为所有应用程序的所有者。我创建了一个 AAD 组来放置这些用户,但是当我尝试将该组分配为所有者时,
AAD 应用程序需要哪些 OAuth API 和权限,以便我可以使用它来授权创建新的 AAD 应用程序,如本 example 中所述。 最佳答案 您可以在 Azure AD Graph API 上向应
我正在配置一堆 Azure Active Directory (AAD) 应用程序,并希望同一组用户成为所有应用程序的所有者。我创建了一个 AAD 组来放置这些用户,但是当我尝试将该组分配为所有者时,
需要将用户的照片持续同步(不仅仅是一次)到 AD 环境中,然后同步到 Azure AD 中。根据下面的文章,该属性仅在初始同步时同步一次。当有人获得新徽章时,我们的安全小组会更新这些照片,然后我们会更
我们有一个 Office 365 租户,用于为我们的组织提供基本 AD 功能(加入桌面 PC、身份验证等)。 我们还在构建一个独立的移动和网络应用程序。我们有一个与我们的主要 AAD 租户绑定(bin
有人可以帮我解决以下问题吗?提前致谢 我在实验室中设置 AD Connect,并且我的实验室 Active Directory 用户可以正常同步到我的实验室 Azure AD 然后,我第二次通过 Az
我们有一个 Office 365 租户,用于为我们的组织提供基本 AD 功能(加入桌面 PC、身份验证等)。 我们还在构建一个独立的移动和网络应用程序。我们有一个与我们的主要 AAD 租户绑定(bin
有人可以帮我解决以下问题吗?提前致谢 我在实验室中设置 AD Connect,并且我的实验室 Active Directory 用户可以正常同步到我的实验室 Azure AD 然后,我第二次通过 Az
我希望我们的团队在配置与生产 AAD 非常接近的开发 AAD 中完成所有开发工作。这样,我们的工作就不需要更改为在生产环境中工作。 目前我们的团队拥有: 生产 AAD 租户具有: 生产订阅 开发订阅;
使用 Confluence 和 Azure AAD 对 SCIM 实现进行测试,并使用 OIDC 进行身份验证,并遇到以下问题: 如果从 Confluence 中手动删除 SCIM 配置帐户,Azur
使用 Node.js 的 Microsoft MSAL 快速入门的修改版本(原始 here ),我使用隐式流成功接收了 Azure 存储 API 的访问 token 。该 token 包含组声明,但声
我想在遥测中记录以下内容以用于诊断和使用目的: Azure 订阅 ID AAD 租户 ID AAD 应用客户端 ID 我应该将它们视为 secret /PII 并对它们进行哈希/加密吗? (不用说,我
场景: 用户使用域帐户登录桌面 用户在 AAD 中拥有一个与域帐户不同的 Azure 帐户 为 Azure 帐户配置了 AAD 身份验证的 Azure SQL 数据库 用户如何使用 SQL Serve
场景: 用户使用域帐户登录桌面 用户在 AAD 中拥有一个与域帐户不同的 Azure 帐户 为 Azure 帐户配置了 AAD 身份验证的 Azure SQL 数据库 用户如何使用 SQL Serve
我创建了一个使用 Azure Active Directory 保护的 WebAPI。我现在需要对此进行测试并尝试将 fiddler 与授权 header 一起使用。我正在尝试使用以下代码生成 tok
使用 API Graph,我创建了一个包含电子邮件地址的 ADD 组。该地址的域会自动添加到租户中的主要域中。我无法更改租户上的默认域,但我需要将创建的组的域更改为主域以外的域。我怎样才能实现这个目标
我有几个 API(“A 组和 B 组”),它们调用一个中央 API(“API X”)。全部通过 Azure AD 进行身份验证。 在“API X”中,我想将几个路由限制为可用路由的子集。 /api
我是一名优秀的程序员,十分优秀!