【问题标题】:MSAL.Net connecting to Azure AD federated with ADFSMSAL.Net 连接到与 ADFS 联合的 Azure AD
【发布时间】:2020-03-12 13:48:53
【问题描述】:

我们正在使用一系列 OAuth 2 功能的 ASP.Net MVC 和 Web API 构建应用程序 - AcquireTokenByAuthorizationCode(使用 microsoft.identity.web)、AcquireTokenSilentlyAcquireTokenOnBehalfOfAcquireTokenForClient 用于不同部分的应用环境。

应用程序使用 MSAL.Net 与 Azure AD 和其中预配的用户进行交互,以提供对资源的访问,并且工作正常。

我们现在正在考虑建立与组织的本地维护用户帐户的连接,以便最终用户不会在 AAD 和本地重复,因此在组织中维护 ADFS 是一种选择。考虑到 ADFS 实例是 2016 年,让 MSAL.Net 与 ADFS 一起工作的一个选项似乎是将 Azure AD 与 ADFS 联合,如本文所述: https://docs.microsoft.com/bs-latn-ba/azure/active-directory/develop/msal-net-adfs-support

这篇文章只讨论了AcquireTokenInteractive,我没有看到关于将 AAD 与 ADFS 联合支持其他 MSAL.Net 操作的解释。我认为这是真的,我们必须在所有配置完成后运行测试,但与此同时,

在 AAD 与 ADFS 联合时,是否有人有任何关于 MSAL.Net(甚至是 msal.js)和 AAD 的操作范围的经验或文档?

【问题讨论】:

    标签: azure-active-directory adfs msal


    【解决方案1】:

    所以我继续自己尝试,在 Azure 中设置 VM,安装 Active Directory、AD FS 并按照文章 https://docs.microsoft.com/en-us/azure/active-directory/b2b/direct-federation-adfs 配置 Azure AD 和 VM AD FS 之间的联合。

    然后验证我们的应用程序使用的不同 OAuth 功能,具体来说(根据以下观察,我希望其他 oauth 功能也能按预期工作):

    AcquireTokenByAuthorizationCode
    AcquireTokenSilently
    AcquireTokenOnBehalfOf
    AcquireTokenForClient
    

    所有这些功能都按预期工作。用户被重定向到组织登录页面并被重定向回应用程序。

    沿途的一些观察

    1. 使用通过 ADFS 集成的本地 AD 凭据时,刷新令牌的生命周期为 12 小时,而不是在 AAD 中预配用户时的几天。这显然是为了减轻用户信息更改的风险,例如密码更改。如果浏览器闲置时间超过 12 小时,则需要用户重新登录。

    2. 一旦通过身份验证,进一步的 OAuth 操作不涉及 On prem AD / ADFS。这些操作针对 Azure AD,任何浏览器重定向都将重定向到 Azure AD 以进行重新身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-31
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2019-08-23
      • 1970-01-01
      相关资源
      最近更新 更多