gpt4 book ai didi

没有 client_secret 的 OAuth2 授权代码 PKCE (wso2 5.3.0 IAM)

转载 作者:行者123 更新时间:2023-12-02 03:51:06 28 4
gpt4 key购买 nike

我目前正在尝试在公共(public)客户端/ native 客户端(Android 应用程序)上实现 OAuth 2.0 授权代码授予。

由于无法在设备上存储 client_secret,我想将此授权类型与 rfc7636 / Proof Key for Code Exchange by OAuth Public Clients (PKCE). 一起使用。

我在后端使用 wso2 5.3.0 IAM。

授权步骤工作得很好,但如果没有 client_secret,我无法获取访问 token :invalid_request,缺少参数:client_secret

我是否误解了 PKCE 错误的授权代码授予,或者我是否错过了 IAM 中的某些配置?

相比之下: auth0 是可能的.

最诚挚的问候,罗伯特

最佳答案

即使您使用授权代码流程,如果您的应用程序的客户端类型是 secret ,则 token 端点处也需要 client_secret。 RFC 6749 中的“4.1.3. Access Token Request ”表示如下:

If the client type is confidential or the client was issued client credentials (or assigned other authentication requirements), the client MUST authenticate with the authorization server as described in Section 3.2.1.

因此,将应用程序的客户端类型更改为公共(public)。我不知道 WSO2,但我猜它提供了设置菜单来切换客户端类型,如下所示。

enter image description here
(Authlete网络控制台的屏幕截图)

RFC 6749 中的“2.1. Client Types”中描述了 secret 客户端和公共(public)客户端的定义。

关于没有 client_secret 的 OAuth2 授权代码 PKCE (wso2 5.3.0 IAM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45356625/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com