标签: azure-ad-graph-api

仅从 Azure Active Directory 检索启用的帐户

我能够使用 ActiveDirectoryClient 从 Azure Active Directory 获取所有用户。

有没有办法只从 ASP.NET MVC 中的 azure AD 获取启用的用户,或者在检索所有用户后,将它们过滤为启用或禁用?

c# asp.net-mvc azure azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
2462
查看次数

更改应用程序权限后,Azure AD会提示用户/ admin重新同意

我正在构建一个SaaS应用程序,该应用程序将使用Azure AD对用户进行身份验证.假设我在同意提示期间要求用户获得1个授权许可,并且用户接受它.

稍后我的应用程序发展并需要获得更多委派权限.在这种情况下,如何使用同意页面重新提示用户?我只想在权限发生变化时才这样做一次.

我是否需要在我的应用中跟踪每个用户同意的权限,然后确定prompt=admin_consent在重定向到auth页面时添加查询参数?

azure-active-directory azure-ad-graph-api microsoft-graph

3
推荐指数
1
解决办法
2432
查看次数

服务主体创建另一个服务主体的最低权限

我试图找到一些信息,服务主体创建另一个 AAD 应用程序/服务主体需要哪些应用程序权限,但没有找到最小权限设置。

目前,我为 SP 分配了一些目录角色,例如 Directory Writers,这可能太多了?

有人知道SP 创建另一个 SP 需要哪个应用程序权限吗?还是 SP 需要目录角色?

azure azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
1013
查看次数

使用Graph API以编程方式将用户分配给Azure AD应用程序

我正在尝试编写一个脚本,使用Graph API将用户分配到Azure AD应用程序(servicePrincipal).我正在我的沙盒中对此进行测试,我已经定义了应用程序并为其分配了用户.但是,当我查询时servicePrincipal,我在响应中的任何地方都看不到用户.

问题:

  1. 根据文档,不应该有appRoleAssignment

  2. 文档说这个字段是只读的,那么你应该如何分配用户?

azure azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
1800
查看次数

在Java中验证Azure AD签名

我是一位经验丰富的Java开发人员(4-5年),但是对Azure AD及其功能不熟悉,因此我对潜在的基本问题表示歉意。我一直在努力寻找任何有关Java中涉及此主题的Microsoft文档或Stack Overflow问题(绝大多数使用C#),据我了解,C#比Java具有更多的Azure AD库,因此C#中的解决方案不一定是Java中的解决方案。 Java。

我正在尝试基于一个场景来完成身份验证POC,在该场景中,我想利用现有Azure Azure AD系统来充实用户,以此作为身份验证点。我的Java应用程序将收集用户的用户名和密码(我理解这是不建议使用的,但不理想,但出于传统原因),然后使用Microsoft adal4j库调用Azure终结点,我可以成功返回JWC访问权限令牌(除了刷新和ID令牌外)。

这是我现有的检索JWC访问令牌的代码段。

private static AuthenticationResult getAccessTokenFromUserCredentials(String username, String password, String 
AUTHORITY, String CLIENT_ID) throws Exception {
    AuthenticationContext context = null;
    AuthenticationResult result = null;
    ExecutorService service = null;
    try {
        service = Executors.newFixedThreadPool(1);
        context = new AuthenticationContext(AUTHORITY, false, service);
        Future<AuthenticationResult> future = context.acquireToken(
                "https://graph.windows.net", CLIENT_ID, username, password,
                null);
        result = future.get();
    } finally {
        service.shutdown();
    }

    if (result == null) {
        System.out.println("ex)");
    }
    return result;
}

public void azureAuthenticate(String authority, String clientID, …
Run Code Online (Sandbox Code Playgroud)

java active-directory azure azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
3574
查看次数

无法使用GraphAPI从Azure AD B2C检索用户电子邮件

我创建了一个Azure AD B2C租户,并使用username作为登录方法配置了本地帐户.我创建了一个注册策略,并通过Azure AD B2C注册屏幕进行了注册.在注册屏幕中,我输入了一个电子邮件地址,Azure AD B2C发送了一封电子邮件进行验证.注册成功后,我试图通过Graph API获取已注册用户的详细信息.

用于检索用户详细信息的图谱API URL:

https://graph.windows.net/<tenantid>/users?api-version=1.6
Run Code Online (Sandbox Code Playgroud)

我能够获得新用户的所有其他信息,如用户名,名字,姓氏等......除了用户在电子邮件验证期间输入的电子邮件地址.

如果有任何方法或配置可通过图谱API获取电子邮件地址,请通知我.

azure azure-ad-graph-api azure-ad-b2c

3
推荐指数
1
解决办法
777
查看次数

如何在azure b2c中识别不同类型的用户

我们希望在azure ad b2c目录中查询用户,并以编程方式为所有类型的用户提取登录电子邮件.我们理解为:

  • 标准用户
  • 访客用户(B2B)
  • 本地用户(使用电子邮件注册的B2C用户)
  • 社交用户(使用社交帐户注册的B2C用户)

使用azure广告图表资源管理器运行api调用时:

https://graph.windows.net/myorganization/users?api-version=1.6
Run Code Online (Sandbox Code Playgroud)

我们可以看到所有这些用户.(数据有点消毒)

示例标准用户

{
            "odata.type": "Microsoft.DirectoryServices.User",
            "objectType": "User",
            "objectId": "8b7c468b-fec4-4ff2-b448-64f99f3fa9ff",
            "deletionTimestamp": null,
            "accountEnabled": true,
            "assignedLicenses": [],
            "assignedPlans": [],
            "city": null,
            "companyName": null,
            "country": null,
            "creationType": null,
            "department": null,
            "dirSyncEnabled": null,
            "displayName": "Global User",
            "employeeId": null,
            "facsimileTelephoneNumber": null,
            "givenName": null,
            "immutableId": null,
            "isCompromised": null,
            "jobTitle": null,
            "lastDirSyncTime": null,
            "mail": null,
            "mailNickname": "global.user",
            "mobile": null,
            "onPremisesDistinguishedName": null,
            "onPremisesSecurityIdentifier": null,
            "otherMails": [],
            "passwordPolicies": null,
            "passwordProfile": null,
            "physicalDeliveryOfficeName": null,
            "postalCode": null,
            "preferredLanguage": null,
            "provisionedPlans": [],
            "provisioningErrors": …
Run Code Online (Sandbox Code Playgroud)

azure-ad-graph-api azure-ad-b2c

3
推荐指数
1
解决办法
666
查看次数

在 ASP.NET Core 2.0 中使用 OpenID Connect 时,AdalDistributedTokenCache 是什么?

此处显示的代码是我尝试在 ASP.NET Core 2.0 中针对我的 Azure AD 租户执行身份验证。

有趣的部分是我收到身份验证代码后的下一组目标。

我想将经过身份验证的用户的 AD 组放入声明中,并将它们传递给我的基于策略的授权注册。

为了实现这一点,我交换了访问令牌的授权代码。

获得访问令牌后,我使用 Microsoft Graph SDK 来检索经过身份验证的用户的 AD 组。

问题 1:我见过访问令牌存储在缓存中的示例IDistributedCache。为什么这很重要,不执行此步骤有什么风险,究竟是AdalDistributedTokenCache什么?

例如

   var cache = new AdalDistributedTokenCache(distributedCache, userId);

   var authContext = new AuthenticationContext(ctx.Options.Authority, cache);
Run Code Online (Sandbox Code Playgroud)

我发现访问令牌总是通过

   string accessToken = await HttpContext.GetTokenAsync("access_token");
Run Code Online (Sandbox Code Playgroud)

问题 2:检索组后,如果我将这些作为声明添加到 Principal 中,那么我是否可以使用它们来驱动此处所述的授权策略?

ASP.NET Core 中基于策略的授权

问题 3:访问​​令牌和 id 令牌以及我添加的声明最终会出现在 cookie 中吗?

问题 4:如何强制 Azure AD 将 AD 角色作为声明返回(而不是组,因为我可以通过 Graph 获取这些角色)而不必更改某种清单?

完整代码

public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme …
Run Code Online (Sandbox Code Playgroud)

asp.net-identity azure-active-directory openid-connect azure-ad-graph-api asp.net-core

3
推荐指数
1
解决办法
1185
查看次数

Azure图形API在Node JS中使用自定义用户属性创建B2C用户

你能帮我在Azure AD B2C中使用node js client创建一个用户吗?

在该请求中,我需要填充"signInNames"和我在B2c中为我的应用程序创建的自定义用户属性.

如果您共享样本请求,我们非常感谢.

rest azure node.js azure-ad-graph-api azure-ad-b2c

3
推荐指数
1
解决办法
980
查看次数

如何找到需要Microsoft Graph“读取目录数据”权限的Azure AD应用程序的管理员同意URL?

我正在通过以下示例:

https://azure.microsoft.com/resources/samples/active-directory-dotnet-webapp-groupclaims/

若要运行该示例,我需要对Microsoft Graph具有Directory.Read.All权限:

为您的应用程序配置权限。在这种情况下,在“设置”菜单中,选择“所需权限”部分,然后单击“添加”,然后选择“ API”,然后在文本框中键入Microsoft Graph。然后,单击“选择权限”,然后选择 Directory.Read.All

Directory.Read.All需要Azure AD管理员同意。
我的Azure AD应用程序没有Web用户界面。

如何让我们的Azure AD管理员在不花费太多时间的情况下提供同意?

我们的Azure AD管理员是繁忙且昂贵的资源。需要花费很多时间来预定他的时间,我希望我能在参与他之前进行同意过程。

azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
3538
查看次数