为什么访问令牌请求需要redirect_uri?

时间:2016-06-06 13:47:44

标签: oauth-2.0 oauth2 rfc6749

我正在开发一个基于rfc6749的oauth2提供程序,我想知道,为什么Access Token Request需要redirect_uri? / token端点没有重定向,并且假定状态已经过验证(即针对CSRF),因此redirectURI的副本对我没有多大意义。

3 个答案:

答案 0 :(得分:3)

在auth代码流程中,它用于验证第一个auth请求中的redirect_uri。 https://www.oauth.com/oauth2-servers/redirect-uris/redirect-uri-validation/

  

授予访问权限

     

令牌端点将获得交换授权的请求   访问令牌的代码。此请求将包含重定向URL   以及授权码。作为一种额外的安全措施,   服务器应验证此请求中的重定向URL是否匹配   确切地说是初始中包含的重定向URL   此授权码的授权请求。如果是重定向网址   如果不匹配,服务器会拒绝请求并显示错误。

答案 1 :(得分:0)

如果是,则需要重定向URI 1.授权代码流,其中服务器将代码重定向到重定向URI,例如对授权请求的样本响应是:

-(void)addLableTextWith :(NSArray*)jsonList
 {
   NSArray * lblArray = [YourContainerView subviews];

   for (int i = 0; i <[jsonList count] ; i++)
    {
    UILabel * youurLbl = (UILabel*)lblArray[i];
    youurLbl.text = jsonList[i];
    }
 }

Authz代码流的错误响应也是如此:

HTTP/1.1 302 Found
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA
           &state=xyz

同样包含隐式授权,服务器将散列“#”fragement中的访问令牌返回给请求中提供的重定向URI

答案 2 :(得分:0)

同一问题在这里辩论:https://security.stackexchange.com/questions/44214/what-is-the-purpose-of-oauth-2-0-redirect-uri-checking

The best response imho is vinod one,即减少使用灵活的redirect_uri(使用通配符)时的表面攻击