0

我正在尝试将 PKCE 与授权代码流一起使用。似乎身份验证代码流要求您使用 HTTP Basic 身份验证来发送 client_id 和 client_secret (因此您必须将 client_secret 客户端存储在某处)。这是真的,还是可以使用 auth_code/PKCE 流而不在代码中存储 client_secret?在Okta 的这个页面上,它说

Important: Unlike the regular Authorization Code Flow, this call does not require the Authorization header with the client ID and secret. This is why this version of the Authorization Code flow is appropriate for native apps.

所以这使得在 auth_code 流中似乎不需要 client_secret 是可能的。

但是从我的测试来看,该方法似乎create_token_response 需要发送 client_secret,否则会引发Invalid Client错误。由于客户端拥有代码验证器,因此我不了解该客户端机密的需要。

4

1 回答 1

1

我已经在 AWS Cognito 上实现了它,我想它也应该在 Okta 上运行。

可能你没有正确配置客户端。在 Cognito 中,我必须创建一个没有客户端密码的客户端,所以如果你创建了一个有密码的客户端,也许这就是它失败的原因。或者只是发错了clientId

于 2020-06-30T15:51:20.597 回答