将Box OAuth与AngularJS路由系统结合使用



我正在尝试将用户身份验证到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参数相匹配。

最新更新