【问题标题】:What settings to use in ADAL to access Azure AD在 ADAL 中使用哪些设置来访问 Azure AD
【发布时间】:2018-07-12 07:58:22
【问题描述】:

我在 ADAL 中使用以下设置来访问 Azure AD。

  1. 这是有人使用的设置,我在互联网上找到

    public const string ApplicationId = "your-application-id";
    public const string ReturnUri = "http://your-uri.com/";
    public const string Authority = "https://login.windows.net/common";
    public const string GraphResourceUri = "https://graph.windows.net";
    
  2. 这是我的设置

    public static string ApplicationID = "xxxx-xxxx-xxxx-xxxx-xxxxx";   
    public static string ReturnUri = "http://myAppName register in AzureAD";     
    public static string tenanturl = "https://login.microsoftonline.com/xxx-xxx-xxx-xxx-xxx";        
    public static string GraphResourceUri = "https://graph.microsoft.com";
    

问题:

我希望有人可以确认以下内容:

a) Authority 是否与 tenanturl 相同?使用哪一个:login.windows.net 或 login.microsoftonline.com

b) 用于 GrapResourceUri:graph.windows.net 或 graph.microsoft.com

c) 1 和 2 的设置是否完成?或者还有更多设置要添加。

d) 从 Azure AD 返回的令牌是 SAML 还是 JWT 令牌?

【问题讨论】:

    标签: xamarin.forms azure-active-directory azure-ad-b2c


    【解决方案1】:

    a) Authority 是否与 tenanturl 相同?使用哪一个:login.windows.net 或 login.microsoftonline.com

    权限应该是https://login.microsoftonline.com/your-tenant-id-here。 您可以使用 AAD 租户的唯一 ID,也可以使用经过验证的域名之一,例如https://login.microsoftonline.com/mytenant.onmicrosoft.com.

    b) 用于 GrapResourceUri:graph.windows.net 或 graph.microsoft.com

    如果要调用 Azure AD Graph API,首先。如果要调用 Microsoft Graph API,请使用第二个。

    c) 1 和 2 的设置是否完成?或者还有更多设置要添加。

    遗憾的是,答案取决于情况。 在 Azure AD 中获取访问令牌的流程有很多,使用哪一个(以及因此使用的 AcquireAccessToken() 重载)取决于应用程序的类型和情况。 这里的设置对于本机应用程序来说已经足够了(我猜是你的,因为 Xamarin Forms 标记在那里)。

    【讨论】:

    • 感谢您的帮助。我还有一个问题。 Azure AD 返回的令牌是 SAML 令牌还是 JWT。谢谢
    • JWT,这是 ADAL 使用的唯一格式 :) 但是,当您获取访问令牌时,最好避免查看令牌,而直接将其传递给 API。如果令牌格式以某种方式发生变化,它可能会破坏您的应用程序,即使 API 已经接受了新令牌。但是当然在调试过程中可能需要检查内容,为此您可以使用例如jwt.ms.
    • 我会测试一下然后回到这里。我是 AzureAD 的初学者,有付费账户。有关于 JWT 的问题。我会在一个新的线程中问。所以我会标记你回答的所有线程:) 我的问题是关于 AzureAD。先感谢您。所以,当使用 ADAL 访问 AzureAD 时,一旦通过身份验证,当我使用 ADAL 方法获取 Token 时,它将返回 JWT。这是正确的吗?
    • 是的,它会在结果中包含一个 AccessToken,这将是一个 JWT。得到它后,将它作为标头附加到 API 请求:Authorization: Bearer access-token-goes-here.
    猜你喜欢
    • 1970-01-01
    • 2018-04-01
    • 2017-11-13
    • 2018-12-20
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多