Keycloak:手动重新加载页面时收到“无效参数:redirect_uri”

问题描述 投票:0回答:1

这是一个 Angular 17 SPA 应用程序。它使用的是当前最新版本的 keycloak-Angular (在撰写本文时 15.2.1),这是我根本不明白的。在默认设置中,我可以很好地进行身份验证并注销。但如果我敢重新加载页面,整个页面就会变砖,并且在检查时我发现收到了 400 Bad Request 错误。它说“无效参数:redirect_uri”。但为什么呢?

我的配置看起来大部分与项目中的示例相同,所以我不明白问题可能是什么。

function initializeKeycloak(keycloak: KeycloakService) {
  return () =>
    keycloak.init({
      config: {
        url: 'https://local.dev.auth/',
        realm: 'my-test',
        clientId: 'my-app'
      },
      initOptions: {
        flow: 'standard',
        onLoad: 'check-sso',
        silentCheckSsoRedirectUri:
          window.location.origin + 'ui/assets/silent-check-sso.html'
      }
    });
}

出于测试目的,我什至使本地运行的 keycloak dirty 的 docker 实例保持简单

angular keycloak
1个回答
0
投票

您需要在 Keycloak 客户端和 Angular 应用程序中正确定义客户端详细信息。对于我的应用程序重定向 uri 保留为

/
然后它会被我的路由策略重定向,您必须根据您的策略进行更新 您应该以这种格式定义

对于

silentCheckSsoRedirectUri
我使用了身份提供者RedirectURI,您可以从中获取

(Sidenav)身份提供商->“您的提供商”->重定向 URI

对于 Keycloak Init 你也必须使用

initOptions: {
        flow: 'standard',
        onLoad: 'check-sso',
        redirectUri: Valid_redirect_url,
        silentCheckSsoRedirectUri: valid_sso_redirect_url
      }
© www.soinside.com 2019 - 2024. All rights reserved.