我正在开发一个基于rfc6749的oauth2提供程序,我想知道,为什么Access Token Request上需要redirect_uri?/token端点没有重定向,并且假设状态已经过验证(即针对CSRF),所以redirectURI的副本对我来说没有多大意义。
发布于 2018-03-14 03:30:14
在身份验证代码流中,它用于验证第一个身份验证请求中的redirect_uri。https://www.oauth.com/oauth2-servers/redirect-uris/redirect-uri-validation/
授予访问令牌
令牌端点将收到一个请求,要求交换访问令牌的授权码。此请求将包含重定向URL以及授权码。作为额外的安全措施,服务器应验证此请求中的重定向URL是否与此授权码的初始授权请求中包含的重定向URL完全匹配。如果重定向URL不匹配,服务器将拒绝该请求,并返回错误。
发布于 2020-04-28 18:43:35
这里也讨论了同样的问题:https://security.stackexchange.com/questions/44214/what-is-the-purpose-of-oauth-2-0-redirect-uri-checking。
The best response imho is vinod one即。减少使用flexible redirect_uri时的表面攻击(使用通配符)
发布于 2016-09-07 18:22:41
在1的情况下需要重定向URI。授权码流,其中服务器使用代码重定向到重定向URI,例如,对授权请求的响应示例为:
HTTP/1.1 302 Found
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA
&state=xyz
Authz代码流的错误响应也是如此:
HTTP/1.1 302 Found
Location: https://client.example.com/cb?error=access_denied&state=xyz
在隐式授权的情况下,服务器将散列"#“片段中的访问令牌返回到请求中提供的重定向URI
https://stackoverflow.com/questions/37659188
复制相似问题