oAuth2将URI重定向到AngularJS应用程序,并在URI中使用哈希

时间:2014-07-02 01:40:10

标签: angularjs http redirect

我有一个oAuth2服务,我希望将redirect_uri param作为url传递到我的AngularJS应用程序中的某个位置 - 例如http://localhost:8080/#/twitter/list但我的oAuth2提供程序无法识别其中包含哈希符号的网址。我已经尝试将网址更改为http://localhost:8080/%23/twitter/list,但Angular似乎无法识别路径,我在浏览器中收到以下错误:

Cannot GET /%23/twitter/list

如何重定向回我的AngularJS应用程序?

1 个答案:

答案 0 :(得分:0)

根本没有必要使用主题标签。在支持HTML 5的现代浏览器(除旧IE之外的所有浏览器)中,您可以跳过该主题标签。默认情况下不会启用此功能,但您可以在应用中更改它。

在带有路由配置的应用中的部分下,您需要注入额外的$ locationProvider,然后应该使用它。请使用 ui-router 查看下面的示例(同样适用于 ng-router ):

angular.module('app').config(function( $stateProvider, 
    $urlRouterProvider, $locationProvider ){
    //Routes
    //...
    $locationProvider.html5Mode(true);
}

使用类似的设置,您无需在应用中的任何位置使用主题标签。这意味着原始问题将得到解决