1

我在我的 Angular 应用程序中使用带有 keycloak 的 angular-oauth2-oidc 库作为 Auth-Provider。在“快乐路径”中一切正常:

  1. 用户点击登录按钮
  2. 调用 initImplicitFlow 方法
  3. keycloak登录页面出现
  4. 用户输入他的凭据
  5. 重定向到角度应用程序

但是,当用户在 Keycloak 页面上单击浏览器的后退导航按钮,然后再次尝试通过点击 angular-app 中的登录按钮进行登录时,什么也没有发生。没有重定向到 Keycloak。只有当我重新加载页面或手动导航到 app-root 时,它才会再次起作用。

这种行为只发生在 Firefox 中,并且在 Chrome 甚至 Internet Explorer 或 Edge 中都能正常工作。也许有人知道它的解决方案:)

我的身份验证配置:

export const authConfig: AuthConfig = {
  // Url of the Identity Provider
  issuer: AppSettings.AUTH_SERVER,

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

  // The SPA's id. The SPA is registerd with this id at the auth-server
  clientId: "angular-app-1",

  showDebugInformation: true,

  silentRefreshRedirectUri: window.location.origin + "/silent-refresh.html",

  // set the scope for the permissions the client should request
  // The first three are defined by OIDC. The 4th is a usecase-specific one
  scope: "openid profile email dashboardapi_user"
};

我不知道是否与问题有关,但我正在使用 HashLocationStrategy 进行路由。

我还在使用 Angular 6、Keycloak版本3.2.1.Finalangular-oauth2-oidc版本4.0.2

4

0 回答 0