首页 > 解决方案 > 将 azure 函数连接到 b2c

问题描述

因此,我创建了 azure b2c 目录,并在其中创建了应用程序,例如https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp,并且我在一般 azure 目录中创建了 azure 函数,该函数假设读取 blob 并返回 json 文件。我还创建了用于登录的自定义登录页面。我在本地运行我的程序,我可以登录,而不是调用在 github 中使用的 API,我调用 azure 函数并且它可以工作。但现在我想保护对功能的访问,所以我将 authLevel 设为“用户”并尝试通过 Azure Active Directory 进行身份验证。而且无论我如何进行设置,或者因为我没有权限而无法连接,或者因为我没有权限而无法使用功能。我也收到此错误请求中指定的客户端 ID '/.auth/login/aad/callback' 未在租户''中注册。”</p>

我应该如何将功能连接到 b2c,以便只有授权用户才能访问功能响应。

标签: azure-active-directoryazure-functionsazure-ad-b2c

解决方案


为 Azure Functions App 设置 B2C 身份验证实际上非常简单:

  1. 创建 Azure Functions App 并记下 URL

例如https://myazurefunctions.azurewebsites.net(确保将其设为 HTTPS URL)

  1. 在 Azure Active Directory B2C 中配置您的应用程序:

    在此处输入图像描述

  2. 获取登录策略的元数据端点 URL

    • 如果您打开登录策略的详细信息,您会在顶部找到它。例如:

    在此处输入图像描述

  3. 在您的 Functions App 中,在左下角选择“Function app settings”并转到“Configure authentication”:

    在此处输入图像描述

  4. 打开身份验证并选择 Azure Active Directory:

在此处输入图像描述

  1. 选择高级设置并输入以下值:

    客户端 ID:您在步骤 2 中复制的应用程序 ID。颁发者 URL:步骤 3 中的元数据端点 URL。

  2. 保存您的设置,您就完成了!


推荐阅读