azure-active-directory - 将 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 Functions App 设置 B2C 身份验证实际上非常简单:
- 创建 Azure Functions App 并记下 URL
例如https://myazurefunctions.azurewebsites.net(确保将其设为 HTTPS URL)
在 Azure Active Directory B2C 中配置您的应用程序:
- 记下应用程序 ID
- 为您的 Functions App 添加回复 URL,添加后缀 /.auth/login/aad/callback。例如 http://myazurefunctions.azurewebsites.net/.auth/login/aad/callback
获取登录策略的元数据端点 URL
- 如果您打开登录策略的详细信息,您会在顶部找到它。例如:
在您的 Functions App 中,在左下角选择“Function app settings”并转到“Configure authentication”:
打开身份验证并选择 Azure Active Directory:
选择高级设置并输入以下值:
客户端 ID:您在步骤 2 中复制的应用程序 ID。颁发者 URL:步骤 3 中的元数据端点 URL。
保存您的设置,您就完成了!
推荐阅读
- javascript - 如何在 node.js 上使用 mongoose 从 mongodb 库中检索文档?
- python - 如何将可变长度列表列表的每个元素打印为python中的列?
- database - 卸载后如何删除 Oracle DB Relics
- angular - 从数据库延迟加载 Angular 组件
- jquery - 如何将语法 .live() 转换为 .on() - jquery
- python - 使用 psycopg2 与 postgresql 的连接可以保持 24 小时以上吗?
- database - 如何在 Sequelize 查询中使用不包含
- nix - 查询一个nix程序的“name”属性
- conditional-statements - 在代码复杂性中使用 if else 和 if else if else(深度条件)有什么区别?
- html - SCSS Mixin 无法编译