gpt4 book ai didi

oauth-2.0 - 在 OpenID 连接授权代码流中使用 PKCE 时我们需要 client_secret 吗?

转载 作者:行者123 更新时间:2023-12-03 19:10:02 25 4
gpt4 key购买 nike

根据 PKCE spec , OAuth provider 使用 code_verifier 来避免中间人攻击。我的理解是,基于 JavaScript 的单页应用程序 (SPA) 将 OAuth 代码交换为 token 是最佳选择。
当我用 Google API 对此进行实验时,它说“缺少 client_secret”。
这是 HTTP 请求和响应。
编号:1
地址:https://oauth2.googleapis.com/token
Http 方法:POST
内容类型:应用程序/x-www-form-urlencoded
header :{Content-Type=[application/x-www-form-urlencoded], Accept=[/]}
有效载荷:grant_type = authorization_code&代码= 4%2F1AH3Ubnm550IoT8AZ_e_eqLYDn3-JyXVo22LOcAlsWPnxTV_o0tV2N1YMNFtqhvFm65n4tuZmHfK5tkKLOsbnRw&范围=的OpenID +轮廓+电子邮件&REDIRECT_URI = HTTPS%3A%2F%2Flocalhost%3A8443%2Fdemo&CLIENT_ID = myclientid.apps.googleusercontent.com&code_verifier = iv8n89-Dh3QD1uroYm6e6jcpZwxff60m-RYYlmLYArun6KF8o0z%7Ee3EjyVyYUp.4XxSbyI47QQSCMrY542sLWSUnxAG8e0a%7ETjmF_UFioJMA_ctB2jz6qbcYtu9uUOKp
编号:1
响应代码:400
编码:UTF-8
内容类型:应用程序/json;字符集=utf-8
标题:{Accept-Ranges=[none], Alt-Svc=[h3-28=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"], Cache-Control=[private], content-type=[application/json; charset=utf-8], Date=[Mon, 22 Jun 2020 04:41:53 GMT], Server=[scaffolding on HTTPServer2], transfer-encoding=[chunked], Vary=[Origin,Accept-Encoding, Referer, X-Origin], X-Content-Type-Options=[nosniff], X-Frame-Options=[SAMEORIGIN], X-XSS-Protection=[0]}
有效载荷:{
"错误": "invalid_request",
"error_description": "client_secret 丢失。"
}
我的理解是“传递 code_verifier 时我们不需要 client_secret”是错误的还是 Google 不支持 PKCE 或者我是否错过了请求中的其他参数?请帮忙。

最佳答案

我在尝试使用最新的 Single Page App Standards 时查看并遇到了同样的问题。 .查看 Google 文档,他们的实现似乎仍然基于 implicit flow .
我确认您可以发送 response_type='token id_token' 并成功获得 token ,但我也更喜欢使用授权代码流(PKCE)。

关于oauth-2.0 - 在 OpenID 连接授权代码流中使用 PKCE 时我们需要 client_secret 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62507919/

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