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

标签 angularjs http redirect

我有一个 oAuth2 服务,我想将 redirect_uri 参数作为 url 传递到我的 AngularJS 应用程序中的某个地方 - 例如http://localhost:8080/#/twitter/list 但我的 oAuth2 提供商无法识别其中包含井号的 URL。我尝试将 url 更改为 http://localhost:8080/%23/twitter/list 但 Angular 似乎无法识别该路径,我在浏览器中收到以下错误:

Cannot GET /%23/twitter/list

如何才能使重定向回到我的 AngularJS 应用程序正常工作?

最佳答案

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

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

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

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

关于angularjs - oAuth2 将 URI 重定向到 AngularJS 应用程序,在 URI 中使用哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24521638/

相关文章:

javascript - Angular Select 的选项值为 space

unit-testing - 使用 $rootScope 和 $httpBackend 进行 Angularjs 单元测试

windows - SSL 证书仅适用于本地网络

iis - 使用 web.config 文件在 IIS 中看似简单的重定向

.htaccess - 使用 mod_rewrite 进行语言重定向

angularjs - TypeScript、AngularJS 和 GoogleMaps API : scope issue?

unit-testing - Jasmine 单元测试 : $compile produces comment out of ng-repeat

angularjs - 自动为所有 ng-repeat 行选择单选按钮

java - 我们可以使用 jpcap 过滤 https 数据包吗?

php curl 帖子重定向