我正在开发一个基于rfc6749的oauth2提供程序,我想知道,为什么Access Token Request需要redirect_uri? / token端点没有重定向,并且假定状态已经过验证(即针对CSRF),因此redirectURI的副本对我没有多大意义。
答案 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)
The best response imho is vinod one,即减少使用灵活的redirect_uri(使用通配符)时的表面攻击