Cod*_*oad 2 .net model-view-controller facebook oauth facebook-login
尝试在mvc Web应用程序中实现facebook身份验证.
在localhost中,一切都按预期工作.在测试服务器中,我明白了
调用时有400个错误请求
https://graph.facebook.com/oauth/access_token?client_id=xxx&redirect_uri = xxx&client_secret = xxx&code = xxx
我正在使用我从这里获得的FacebookScopedClient类
解决了.Facebook返回400个错误请求,因为它希望redirect_uri
参数在调用两者时都相同
https://www.facebook.com/dialog/oauth 和 https://graph.facebook.com/oauth/access_token
我正在使用FacebookScopedClient浮动在网上的类的变体.
它设置的值redirect_uri来自:context.Request.Url.OriginalString;
该字符串包含端口号,而原始URL不包含端口号.
解决方案是在第一次调用中包含端口号,从第二次调用中删除它,或者从第一次调用中获取redirect_uri值Request.Url.
我使用第二个选项,使用:
if (context.Request.Url.IsDefaultPort)
{
rawUrl = rawUrl.Replace(":80", ""); //patch to remove port number.
}
Run Code Online (Sandbox Code Playgroud)
它可能不是防弹,因为可能有一个奇怪的情况,":80"出现在网址的其他地方,但它对我的需求是足够的.
| 归档时间: |
|
| 查看次数: |
2259 次 |
| 最近记录: |