我在 SPA 上启用 OAuth2,如下所示:
- 隐式授权类型是唯一支持的授权类型
- 我的 Angular 5 应用程序使用 HashLocationStrategy 进行路由
我无法更改这些约束中的任何一个。
当我登录到我的应用程序并被重定向时,来自授权端点的重定向 url 如下所示:
http://foo/#access_token=(ey...)&token_type=bearer&state=(state...)&expires_in=43199&jti=(jti...)
这符合 OAuth2 规范的预期;重定向 url 中的参数必须作为片段附加(在“#”之后)。
我遇到的问题是 Angular 正在根据其散列位置策略解释散列之后的字符。它正在尝试重定向到access_token=...
不存在的路径。
我该如何解决这个问题?