加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

带有angularjs的github redirect_uri

发布时间:2020-12-17 16:58:57 所属栏目:安全 来源:网络整理
导读:我正在尝试在我的应用程序中使用 github添加登录.因此,在我的本地计算机上进行测试时,我将回调网址设置为http:// localhost:8000 / login / callback /. 之后,我添加了一个登录链接到我的页面, a href =“https://github.com/login/oauth/authorize?client
我正在尝试在我的应用程序中使用 github添加登录.因此,在我的本地计算机上进行测试时,我将回调网址设置为http:// localhost:8000 / login / callback /.

之后,我添加了一个登录链接到我的页面,< a href =“https://github.com/login/oauth/authorize?client_id=CLIENT_IDu0026amp;scope=useru0026amp;redirect_uri=http://localhost :8000 / login / callback“>登录< / a>,以及

$routeProvider.when('/login/callback',{
  controller: 'loginCtrl'
});

它成功返回了一个代码,其中包含如下链接:http:// localhost:8000 / login / callback?code = cd07ff3b70f5d1d1b8a2.但angularjs无法正确响应.

Error response

Error code 404.

Message: File not found.

Error code explanation: 404 = Nothing matches the given URI.

我也尝试将redirect_url设置为http:// localhost:8000 /#/ login / callback,但是返回链接就像这样http:// localhost:8000 /?code = 61e9c8b73c073a0bccc0 /#/ login / callback

我需要将代码显示在url的末尾,而不是在中间,以便我可以使用$location.search().代码来获取我的代码.我该如何正确设置?

喜欢改变我的redirect_uri或改变我的路由器?

解决方法

@lowerkey我仍然不知道如何处理这个,但我认为那是因为页面被重新加载.

如果你没有将html5Mode设置为true,那么将在URL上#,如果你重新加载页面,#将跟踪信息到$scope以使用htmlHistory api,这样应用程序即使在页面刷新.

但是一旦你将html5Mode设置为true,那么就没有#存储任何$scope信息,当页面重新加载时,angular无法找到相应的范围,因此返回404.

您可以查看$location section on angularjs guide,它有一节解释为什么会发生这种情况.

Page reload navigation

The $location service allows you to change only the URL; it does not allow you to reload the page. When you need to change the URL and reload the page or navigate to a different page,please use a lower level API,$window.location.href.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读