azure-ad-b2c - 将 ASAuthorizationAppleIDProvider 与 Azure B2C 一起使用 - 可以吗?
问题描述
我正在编写一个通过 Azure B2C 访问 Web 的 iOS/macOS 应用程序。我让应用程序使用电子邮件(ROPC 流)和 Microsoft 身份提供者(授权代码流)成功登录。我还在我的 Azure B2C 帐户上设置了一个新的(预览版)Apple ID 身份提供程序,可以通过 Web 界面使用 Apple ID 登录。
我现在正尝试在我的应用程序中添加对 Sign in with Apple 的支持,并且我希望通过使用 ASAuthorizationAppleIDProvider 使其对用户尽可能好。我已成功注册我的应用程序并让 ASAuthorizationAppleIDProvider 返回身份验证代码和 ID 令牌。
现在 - 我可以用那些登录 Azure B2C 做什么?任何事物?我最终想以某种方式使用通过 Apple ID 授予的授权从 Azure B2C 请求访问和刷新令牌。那可能吗?如果是这样,我应该在哪里发送苹果提供的身份验证代码和/或 ID 令牌?Azure B2C 的授权端点?什么资助类型?
解决方案
这是不可能的。流程是 iOS 应用程序 -> 向 AAD B2C 发出 OIDC 请求 -> 向 Apple IdP 发出 OIDC 请求。
您需要使用像 msal4ios 这样的 OIDC 库来将 OIDC 与 AAD B2C 对话。此内置 Apple SDK 方法 (ASAuthorizationAppleIDProvider) 将无法调用 AAD B2C。除非您通过 AAD B2C 开始,否则您不能直接调用 Apple ID 然后将该令牌换成 B2C 令牌。
推荐阅读
- swift - TableViewController 问题:不会保存来自 textView 的用户输入
- sql-server - 使用 C#、VBA 和 Python 的开发人员希望将数据发送到数据库
- python - 按日期过滤 DataFrame 从当前日期一周前
- sql - SQL 透视字符串数据
- node.js - 无法通过 npm 安装 express
- google-cloud-dataflow - 用于 GenericRecord 的 Apache Beam 编码器
- php - 将 t 转换为 php 中的撇号
- sql - 如何在 PostgresSQL 中为多个模式和表创建触发器函数
- java - 线程中的异常,java 代码将无法正确执行。if/else 语句
- java - SpringBoot Rest Controller集成测试总是给401未授权