我正在尝试通过使用 Keycloak 给出的令牌来使用 keycloak js 适配器。https://www.npmjs.com/package/@react-keycloak/web 像这样的:
import { ReactKeycloakProvider } from '@react-keycloak/web';
import keycloakClient from './keycloak';
import AuthenticatedApp from './AuthenticatedApp';
const keycloakInitOptions = {
onLoad: 'check-sso',
// enableLogging: true,
token: token,
refreshToken: refreshToken,
idToken: idToken,
checkLoginIframe: false,
// promiseType: legacy
};
function App() {
return (
<ReactKeycloakProvider
authClient={keycloakClient}
initOptions={keycloakInitOptions}>
<AuthenticatedApp />
</ReactKeycloakProvider>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
但它似乎没有使用令牌。如果我查看 keycloak 对象,就会发现令牌是未定义的。也许我误解了如何使用它?也许是反应包装器改变了它的使用方式。我看了这个https://keycloak.discourse.group/t/automatic-login-to-javascript-client-adapter-with-inital-access-and-refresh-token/1331,我似乎也在做同样的事情。我尝试过不使用访问令牌,也不使用刷新令牌,看看是否有区别。我尝试了promiseType=legacy,但结果相同。