我正在努力使用keycloak / keycloak-js登录,目标是验证用户是否已经连接到 keycloak 或没有。为此,我onLoad: check-sso在 keycloak.init 期间使用了它。
当我有一个用户并单击“模拟”时,它工作正常,但是,如果用户未连接,则网址中出现一秒错误:
http://localhost:8000/#error=login_required&state=...
我尝试更改提示=“无”,但它什么也没做
我找不到任何方法可以设置静默模式,以便在未登录网址栏时不显示错误?
该项目使用Keycloak-js,Keycloak服务器版本为15.0.2
还是行不通
我在使用时遇到了同样的问题
钥匙斗篷: 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)
示例或文档中都没有明确说明这一点。
| 归档时间: |
|
| 查看次数: |
3082 次 |
| 最近记录: |