使用 Azure AD 和 SAML 2.0 使用私人 API

Consume a private API using Azure AD and SAML 2.0

我有一个客户端 API 应用程序使用来自网络应用程序的私有 API,我使用 Bearer 授权进行身份验证。我使用以下调用获取 Bearer: grant_type=password&username={用户名}&password={密码}&client_id={clientID}&tenant_id={TenantID}

然后我使用返回的 Bearer 对 APIs 进行身份验证。

在我们使用带有 SAML 2.0 的 Azure AD 向应用程序添加 SSO 身份验证之前,一切都运行良好

我检查了 Azure 文档并发现了以下内容:https://docs.microsoft.com/en-us/azure/active-directory/develop/single-sign-on-saml-protocol

我不确定从哪里开始,能否请您指导我添加到我当前的应用程序以使其支持新的 SSO 身份验证的步骤?

谢谢!

听起来您已经在 AAD 应用程序中实施了 SAML,并且希望在 ROPC/OIDC/Auth 代码之外使用不同形式的身份验证。

可以使用 SAML 断言持有者流程获取带有 SAML 令牌的访问令牌。不幸的是,没有关于如何执行此操作的官方文档,但根据此处的反馈支持它: https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/19728688-support-for-oauth-2-0-saml-bearer-assertion-flow

通过使用 SAML 断言持有者流程,您可以使用 SSO 身份验证获取 SAML2.0 令牌,然后使用 SAML 令牌通过 SAML 持有者断言流程获取新的访问令牌。

此流程的 RFC 可在此处找到: https://www.rfc-editor.org/rfc/rfc7522

由于没有关于如何执行此操作的官方 Microsoft 文档,因此它可能不是当前的最佳路径。如果您已经使用 ROPC 流程使用它,您可能希望等待为 SAML 断言承载流程提供适当的文档。或者利用 Microsoft 拥有官方文档的其他流程之一。这些流程可以在这里找到:https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-scenarios

如果有任何问题,请发表评论,我会尽快回复您。