将 ASAuthorizationAppleIDProvider 与 Azure B2C 结合使用 - 可能吗?

Using ASAuthorizationAppleIDProvider with Azure B2C - Is It Possible?

我正在编写一个 iOS/macOS 应用程序,可通过 Azure B2C 进行 Web 访问。我已使用电子邮件(ROPC 流程)和 Microsoft 身份提供程序(授权代码流程)成功登录应用程序。我还在我的 Azure B2C 帐户上设置了一个新的(预览版)Apple ID 身份提供程序,它可以通过 Web 界面使用 Apple ID 登录。

我现在正尝试在我的应用程序中添加对“使用 Apple 登录”的支持,并且我想通过使用 ASAuthorizationAppleIDProvider 使其对用户尽可能友好。我已成功注册我的应用程序并让 ASAuthorizationAppleIDProvider 返回授权代码和 ID 令牌。

现在 - 我可以用这些做什么来登录 Azure B2C?任何事物?我最终想以某种方式使用通过 Apple ID 授予的授权来请求来自 Azure B2C 的访问和刷新令牌。那可能吗?如果是这样,我应该在哪里发送苹果提供的授权码 and/or ID 令牌? Azure B2C 的授权端点?什么资助类型?

这是不可能的。流程是 iOS App -> OIDC 请求到 AAD B2C -> OIDC 请求到 Apple IdP。

您需要使用像 msal4ios 这样的 OIDC 库来将 OIDC 与 AAD B2C 对话。此内置 Apple SDK 方法 (ASAuthorizationAppleIDProvider) 将无法调用 AAD B2C。您不能直接调用 Apple ID 然后将该令牌交换为 B2C 令牌,除非您首先通过 AAD B2C。