首页 > 解决方案 > AAD B2C 的客户凭证流

问题描述

我有一个带有 NetCore API 后端的 SPA React 应用程序。这个 api 也被另一个应用程序使用。

我想使用 AAD B2C 和第二个应用程序使用客户端凭据流对 SPA 用户进行身份验证和授权。我了解 B2C 不支持客户凭证流。我读到了这一点,以实现我需要在 Active Directory(非 B2C)以及客户端应用程序中再次注册 api 并使用普通 AD 进行配置。

这将使我在 B2C 中注册为应用程序的 SPA 和 API,在正常的非 B2C 中注册为 API 和客户端应用程序。

如果....一切都正确,我如何让 API 验证两种不同类型的客户端?通过针对 AD 非 B2C 的客户端凭据流从 B2C 和客户端应用程序授权用户

标签: asp.net-coreoauth-2.0azure-active-directory

解决方案


要从 B2C 授权用户,您只需参考此文档:教程:使用 Azure Active Directory B2C 授予对 ASP.NET Web API 的访问权限

您主要关心的是针对 AD 非 B2C 的客户端凭据流。

我有一个测试,步骤和普通AD一样:

我在 Azure AD B2C 中注册了一个 Web API 应用程序。在其manifest.xml.

"appRoles": [
        {
            "allowedMemberTypes": [
                "Application"
            ],
            "description": "Writers Have the ability to create tasks.",
            "displayName": "Writer",
            "id": "d1c2ade8-98f8-45fd-aa4a-6d06b947c66f",
            "isEnabled": true,
            "lang": null,
            "origin": "Application",
            "value": "Writer"
        }
    ]

然后我在普通 AD 中注册了一个 Web App 应用程序。为其添加 API 权限。

在此处输入图像描述

使用客户端凭据流获取访问令牌。

在此处输入图像描述


推荐阅读