1

在图书馆的PKCE例子中angular-oauth2-oidc

https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/code-flow-+-pcke.html

redirect_uri是_

window.location.origin + '/index.html'

从安全的角度来看,这很重要吗?

当我添加 时/index.htmlPage Not Found从身份验证服务器重定向后,我的应用程序中出现错误。

但是当我这样做时:

window.location.origin

有用。

这是否必须使用index.html并且我做错了什么?

4

1 回答 1

1

你去过http://yourdomain:yourport/index.html吗?当您访问此 URL 时会发生什么?机会是它不存在。在 Angular 应用程序中,所有路由都服务于 index.html——这就是单页应用程序的定义。也许你有一条回家路线 - 例如 /home

您应该重定向到您的主路由而不是 index.html。

基本上你想要:

window.location.origin + '/home'

甚至更好:

constructor(private router: Router) {}

this.router.navigateByUrl('/home')

重定向到:

window.location.origin

本质上只是当前页面的域和端口 - 例如http://yourdomain:yourport- 所以重定向本质上只是将您发送到您的默认 Angular 路由。您的默认 Angular 路由应在您的应用路由 .ts 文件中定义。有时,如果 URL 中没有定义特定的路由,我希望那里有一个“catch all”路由。

基本上只是http://yourdomain:yourport在浏览器中访问……。window.location.origin无论您点击什么页面,您都应该重定向到该页面。

在您链接到的文档中,他们说:

登录后将用户重定向到的 SPA 的 URL redirectUri:window.location.origin + '/index.html'

这只是一个例子,不应该像这样硬编码!

于 2021-09-16T09:17:01.337 回答