访问令牌的redirect_uri参数是否必须与用于请求令牌的参数相同

时间:2011-06-03 13:48:37

标签: asp.net facebook

我提前道歉,对术语有些混淆。我对整个OAUTH流程感到困惑。

我注意到我需要将redirect_uri传递给facebook grant access token方法,即使我看不到它是如何被使用的。我的服务器正在发出请求并获得响应,因此没有重定向。此外,似乎授权访问令牌调用中的重定向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)
     );

1 个答案:

答案 0 :(得分:3)

是的,为了帮助Facebook验证交换访问令牌的验证码的请求,两个请求的redirect_url必须相同。

你是正确的,为了获得访问令牌,没有执行实际的重定向,访问令牌将在HTTP响应的正文中返回。