angular-oauth2-oidc:redirect_uri 必须是 /index.html 吗?

angular-oauth2-oidc: Does redirect_uri have to be /index.html?

angular-oauth2-oidc 库的 PKCE 示例中

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

redirect_uri

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

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

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

但是当我这样做的时候:

window.location.origin

有效。

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

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

您应该重定向到您的家庭路线,而不是 index.html。

基本上你想要:

window.location.origin + '/home'

甚至更好:

constructor(private router: Router) {}

this.router.navigateByUrl('/home')

重定向至:

window.location.origin

本质上只是当前页面的域和端口 - 例如http://yourdomain:yourport - 所以重定向本质上只是将您发送到默认的 Angular 路由。您的默认 Angular 路由应该在您的应用程序路由 .ts 文件中定义。有时,如果 URL.

中没有定义特定的路线,我希望那里有一条“包罗万象”的路线。

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

在文档中你 link 他们说:

URL of the SPA to redirect the user to after login redirectUri: window.location.origin + '/index.html'

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