使用Angular ui-router在Facebook oAuth2.0重定向URI中出现问题

时间:2017-06-15 14:33:01

标签: javascript angularjs oauth oauth-2.0

我在基于Angular-Java的Web应用程序中添加了oAuthentication,但很难集成它。

以下是我正在从Facebook oAuth重定向进行身份验证的代码:

var redirect_uri="http://localhost:3000/#!/oAuthHandle";
var fbLoginUrl = "http://www.facebook.com/v2.0/dialog/oauth?" + "client_id="
                + client_id + "&scope="
                + scope + "&redirect_uri="
                + redirect_uri;
window.location.replace(fbLoginUrl);

问题是因为(哈希)提供重定向URI,而不是Facebook显示批准或拒绝访问权限的弹出窗口 到我的应用程序,页面被重定向到https://www.facebook.com/oAuthHandle

  

此页面不可用   您关注的链接可能会被破坏,或者页面可能已被破坏   除去。

然后我尝试使用

删除URI中的'#'
$locationProvider.html5Mode(true);

但现在当我的浏览器重定向到 redirect_uri 时出现问题,Angular Routes未检测到oAuthHandle状态且 404错误

在包括SO在内的许多网站上搜索了很多,但没有找到满意的答案。

注意:我正在使用ui-router,我认为使用html5Mode刷新页面已经存在问题,其解决方案位于https://github.com/angular-ui/ui-router/issues/372,表示您必须修复服务器上的东西,但在OAuth重定向中,我无法控制服务器端代码。

如何解决此问题?

0 个答案:

没有答案