我正在尝试将用户身份验证到AgularJS应用程序中,该应用程序使用基于哈希(#)URL的路由。
所以我打电话给
得到https://www.box.com/api/oauth2/authorize
例如,redirect_uri包含一个带有基于哈希的路由的URLhttp://myapp.mydomain.com/#box.
然后,在授予访问权限后,我被重定向到以下内容:http://myapp.mydomain.com/?code=CODE#/box。
问题是哈希部分在查询参数之后,所以它与我的路由规则不匹配:
state('box', {
url: "/box?code",
template: "<p>BOX</p>"
})
如何使此URL与我的路线匹配?
我通过监听$locationChangeStart事件来实现它,然后通过将哈希路由放在查询参数之前来"修复"URL。
这样,它将我的路由与正确填充的code
参数相匹配。