繁体   English   中英

Identity Platform 登录 - 使用 OpenID connect provider 和 Code Flow

[英]Identity Platform Sign In - using OpenID connect provider with Code Flow

我们正在尝试使用 OpenID Connect 提供程序登录用户 - 使用代码流(适用于隐式流)。 我们遇到的问题是我们的 OIDC 提供商需要使用private_key_jwt身份验证方法。

当我们创建自定义 OpenID Connect 提供程序时,Identity Platform 上的唯一选项是 Client Secret。 我假设我们需要传递私钥(与 Apple Provider 一样)而不是 Client Secret 才能起作用? 使用 Identity Platform 甚至有可能吗?

在此处输入图像描述

不,在 Identity Platform身份验证中,使用 OpenID Connect with Apple无法使用私钥进行身份验证,因为您必须生成客户端密码

我们需要为 Apple Provider 创建客户端密码的原因在本文中提到:

与所有其他社交提供商相比,Apple 对 OAuth2 的支持有许多不同之处。 大多数提供商(Google、Github、Facebook)都会为您生成 client_id 和 client_secret。 您只需要将它们保存在服务器上的安全位置即可。 在苹果进程中,首先下载一个私钥,然后使用该私钥生成一个client_secret。 与 Apple 的另一个区别是他们不支持使用 localhost 作为重定向。 最后,我在Flutter客户端发起OAuth2流程; 但所有重定向和令牌交换过程都发生在服务器上。

为了生成客户端密码,您可以按照文章中提到的步骤进行操作。

更多信息可以参考苹果平台如何生成client secret的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM