我提前道歉,对术语有些混淆。我对整个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)
);
答案 0 :(得分:3)
是的,为了帮助Facebook验证交换访问令牌的验证码的请求,两个请求的redirect_url必须相同。
你是正确的,为了获得访问令牌,没有执行实际的重定向,访问令牌将在HTTP响应的正文中返回。