1

我正在构建一个 ASP.NET Core Angular 应用程序,它附带一个api-authorization.module依赖angular-oauth2-oidc库进行授权逻辑的应用程序。该模块用于将 Angular 应用程序与 ASP.NET Identity 连接起来。

它在单个选项卡上按预期工作,但每当打开新选项卡时都需要新的登录操作

我找到了有关该主题的这些资源,但找不到他们正在谈论的导入:

https://github.com/manfredsteyer/angular-oauth2-oidc/issues/321 https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/configure-custom-oauthstorage.html

具体来说,我在 Github 线程jeroenheijmans(图书馆的合作者)和官方文档中都找不到OAuthModule提到的内容。出于这个原因,我无法应用似乎推荐的解决此问题的方法,即将其添加到.app.module

providers: [
    { provide: OAuthStorage, useFactory: storageFactory }
]

谁能告诉我如何解决这个问题,或者指出我正确的方向?

4

1 回答 1

0

providerfor aOAuthStorage应该放在的模块中,你的应用程序中引导事物的模块,例如在你的core.module.ts. 如果你使用localStoragethen,新标签将从其他标签中获取状态:

function storageFactory(): OAuthStorage {
  return localStorage;
}

顺便说一句,您还可以通过在应用程序的引导时使用静默登录来获得此行为,但您必须注意基于静默刷新的浏览器问题iframe

于 2021-11-20T18:03:14.273 回答