现在,当我刷新页面keycloak.authenticate get false并再次询问凭证时,我已经成功地将keycloak与reactJS集成在一起。我也在网上搜索过,他们建议在initOptions属性中传递令牌和刷新令牌,我已经这样做了,但仍然面临同样的问题。
我使用的是"@react-keycloak/web":"^2.1.1“和"keycloak-js":"^10.0.1”
这是我的Keycloak.js代码
import * as Keycloak from 'keycloak-js';
const keycloakConfig = {
url: 'https://smartgrid.doersops.com/auth/',
realm: 'OneSmartgrid',
clientId: 'smartgrid-react-web-admin',
}
const keycloak = new Keycloak(keycloakConfig);
export default keycloak这是我的App.js代码
import React from 'react';
import { KeycloakProvider } from '@react-keycloak/web'
import keycloak from './keycloak';
import { AppRouter } from './routes';
function App() {
const token = localStorage.getItem('token');
const refreshToken = localStorage.getItem('refreshToken');
const setTokens = (token, idToken, refreshToken) => {
localStorage.setItem('token', token);
localStorage.setItem('refreshToken', refreshToken);
localStorage.setItem('idToken', idToken);
}
return (
<KeycloakProvider
keycloak={keycloak}
onTokens={
(tokens: keycloakTokens) =>
setTokens(tokens.token ?? '', tokens.idToken ?? '', tokens.refreshToken ?? '')
}
initOptions={{ onLoad: 'login-required', token, refreshToken }}
>
<AppRouter />
</KeycloakProvider>
)
}
export default App;发布于 2021-03-25 18:30:12
我正在回答我自己的问题,实际上我必须从侧面菜单中更改密钥披风管理panel.Click身份验证的设置,并从下拉菜单中选择浏览器。

https://stackoverflow.com/questions/66795515
复制相似问题