首页 > 解决方案 > 如何在angular 6路由中处理以#开头的参数

问题描述

我有一个 Angular 6 应用程序。我正在尝试从 oauth2 提供程序获取访问令牌。我成功获得了令牌,但我无法加载我的回调页面。问题似乎是令牌使用# 附加到回调url,而我的角度路由器不喜欢#。

这是带有令牌的回调 url 的示例:

http://localhost:4200/oauth2-callback/#access_token= ***&token_type=Bearer&expires_in=31622400

这是我的路线配置:

  {
    path: 'oauth2-callback/:token',
    component: Oauth2CallbackComponent,
    canActivate: [AuthGuard]
  }

我通过手动访问http://localhost:4200/oauth2-callback/xyz对此进行了测试。<- 这很好用。但后来我尝试:http://localgost:4200/oauth2-callback/#xyz。<— 这会将我重定向到我们的错误页面。

所以我的问题是:如何配置路由以处理以# 开头的参数?

谢谢。

标签: angularhashparametersrouting

解决方案


我不得不承认是我的错。我的重定向中有一个错字:oath2-callback(<-- 缺少 u)。结合摆脱 / (所以它是http://localhost:4200/oauth2-callback#access_token= ... 而不是http://localhost:4200/oauth2-callback/#accesstoken=..。)解决了这个问题。


推荐阅读