gpt4 book ai didi

authentication - 客户端是否应该使用 GET 或 POST 获取 OAuth 2 访问 token ?

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

OAuth 2.0 草案 v2-22 第 3.2 节说:

The client MUST use the HTTP "POST" method when making access token requests.



但是,如果您查看 FacebookFoursquare OAuth2 实现,他们要求客户端发出一个简单的 GET 请求来请求访问 token 。他们要求客户端将 client_id 和 client_secret 放在 URL 中。

我正在构建一个 OAuth 2 服务器,在看到 Facebook 和 Foursquare 的实现之后,我强烈考虑打破协议(protocol)以允许客户端通过 GET 请求访问 token 。我网站的通信使用 SSL,类似于 Facebook 和 Foursquare。

所以我的问题是:有什么好的理由不让客户端通过 HTTPS 上的 GET 方法请求访问 token ?

最佳答案

最常见的论点是您不应将敏感信息放在查询字符串(GET 参数)中,因为 Web 服务器通常会记录 HTTP 请求 URL。 POST 数据可以任意长,因此通常不记录。因此,当您处理诸如 client_secret 或代码之类的东西(尽管它是一次性使用)时,将其传递到 POST 有效负载中是有意义的。

恕我直言,如果您使用的是不需要 client_secret 的 OAuth 2.0 流程(或者您按照建议将其放在 HTTP 授权 header 中)-我认为允许 GET 没有问题。

关于authentication - 客户端是否应该使用 GET 或 POST 获取 OAuth 2 访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274819/

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