2011-06-03 34 views
3

对于术语的某些混淆,我提前表示歉意。我对整个OAUTH流程感到困惑。访问令牌的redirect_uri参数是否必须与用于请求令牌的redirect_uri参数相同

我注意到我需要将redirect_uri传递给Facebook授权访问令牌方法,即使我看不到它是如何使用的。我的服务器正在发出请求并获得响应,因此没有重定向。另外,看起来授予访问令牌调用中的重定向URI必须与请求访问令牌调用中使用的相同(我了解它在请求访问令牌调用中需要,但不在授予访问令牌调用中)。

不确定这是需要的,但这里是我使用的代码,以便让Facebook授予访问令牌。

var url = String.Format(
     "https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&code={2}&redirect_uri={3}", 
     this.AppId, 
     this.AppSecretKey, 
     code, 
     System.Web.HttpContext.Current.Server.UrlEncode(this.CallbackUrl) 
    ); 

回答

3

是,以帮助Facebook验证交换授权码的访问令牌的请求,REDIRECT_URL必须是两个请求相同。

你是对的,获得访问令牌,没有实际的重定向执行,访问令牌返回在HTTP响应的主体。

相关问题