0

OpenId 是否支持在规范中的任何位置进行两种方式的令牌交换?特别是允许双方以某种方式相互共享代币,以便他们可以相互共享服务?

我已经查看了规范,但看不到任何详细说明此类情况的内容。

我正在开发的一个应用程序已将自身与一个受信任的 OpenId 提供程序集成,我们将其称为 Acme。

我们还想向 Acme 提供访问令牌和刷新令牌,因为他们也想访问我们服务的功能。

在我们从 Acme 获取令牌的交互过程中,我们希望向它们公开令牌似乎很自然。

这是否是规范的一部分?或者,唯一的方法就是自己成为一个完整的身份提供者?

4

2 回答 2

1

听起来您在某种程度上混淆了 OpenID Connect 和普通的 OAuth2。

OpenID Connect 是一种规范,用于根据终端用户在 OpenID 提供者处的身份验证向客户端应用程序识别最终用户。从您的问题中不清楚最终用户是否甚至是图片的一部分,因此即使是普通的 OAuth2 也可能不相关(除非您只是使用“客户端凭据”授权)。

两个规范都没有提到关于相互交换代币的任何内容。如果您更详细地描述您预期的交互以及您希望使用的赠款,这可能会有所帮助。谁将向您的身份提供者进行身份验证,典型的客户端应用程序是什么?

于 2015-02-26T04:46:15.300 回答
1

您可以将令牌作为请求对象的一部分包含在内,请参阅: http: //openid.net/specs/openid-connect-core-1_0.html#RequestObject但这取决于与 Acme 的成对协议,因为它们' d 需要处理非标准化的请求对象内容。

最好的方法是自己成为提供者,这样您就可以利用各种流程的所有功能,而无需依赖成对协议和随附的实现。

于 2015-02-25T22:43:59.920 回答