我在基于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重定向中,我无法控制服务器端代码。
如何解决此问题?