Keycloak onLoad:'check-sso'返回错误=url中的login_required

Flo*_*ian 8 keycloak

我正在努力使用keycloak / keycloak-js登录,目标是验证用户是否已经连接到 keycloak 或没有。为此,我onLoad: check-sso在 keycloak.init 期间使用了它。

当我有一个用户并单击“模拟”时,它工作正常,但是,如果用户未连接,则网址中出现一秒错误:

http://localhost:8000/#error=login_required&state=... 我尝试更改提示=“无”,但它什么也没做

我找不到任何方法可以设置静默模式,以便在未登录网址栏时不显示错误?

该项目使用Keycloak-js,Keycloak服务器版本为15.0.2

还是行不通

Moc*_*ssa 1

我在使用时遇到了同样的问题

钥匙斗篷: 18.0.1

反应键斗篷/网络: 3.4.0。

这是因为我尝试使用 keycloak.init 并传递我想要的 init 选项

keycloak.init({
   onLoad: "check-sso",
   silentCheckSsoRedirectUri: window.location.origin + "/silent-check-sso.html",
 })
Run Code Online (Sandbox Code Playgroud)

如 keycloak JS 客户端文档中所述。

但这导致了竞争条件并不断重新刷新页面。

解决方法是将 init 选项直接传递给 ReactKeyCloakProvider

<ReactKeycloakProvider
    authClient={keycloak}
    initOptions={{
      onLoad: "check-sso",
      silentCheckSsoRedirectUri:
        window.location.origin + "/silent-check-sso.html",
    }}
    onEvent={eventLogger}
    onTokens={tokenLogger}
  >
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </ReactKeycloakProvider>

 
Run Code Online (Sandbox Code Playgroud)

示例或文档中都没有明确说明这一点。