消息:“验证验证码时出错。请确保您的redirect_uri与您在OAuth对话框请求中使用的redirect_uri相同”
我的网址有什么问题? 所有的param都是facebook dev(我的应用程序)。
答案 0 :(得分:0)
我知道可能为时已晚,但我只想发表评论。如果仍然有此问题,请确保所有地方都具有相同的FacebookCallBack方法名称。我的意思是,例如,我有一个外部登录函数,该函数返回;
https://www.facebook.com/dialog/oauth?client_id=" + FB_APP_ID + "&redirect_uri=" + System.Net.WebUtility.UrlEncode(pageUrl + "account/**FacebookLoginCallback**?returnUrl=%2F").Replace("%3F", "&") + "&scope=email&enforce_https=1
,我还有一个FacebookLoginCallback方法,该方法与上面的名称完全相同。 (“ account / FacebookLoginCallback?....”)
[HttpGet("**FacebookLoginCallback**")]
public async Task<IActionResult> **FacebookLoginCallback**(string code, string returnUrl)
{
try
{
var myUrl = new Uri(HttpContext.Request.GetDisplayUrl()).GetLeftPart(UriPartial.Authority);
var pageUrl = new UriBuilder(myUrl);
var result = (IDictionary<string, object>)fb.Get("oauth/access_token", new
{
client_id = FB_APP_ID,
client_secret = FB_APP_SECRET,
redirect_uri = pageUrl.Uri.AbsoluteUri.TrimEnd('/') + Url.Action("**FacebookLoginCallback**", "Account", new { returnUrl = returnUrl }),
code = code
});
}
......
}
如果您的网址中有变量/函数名称,请仔细检查。
快乐编码
答案 1 :(得分:-1)
首先,要授权的redirect_uri参数和access_token必须匹配。