我尝试在React应用程序中实现Keycloak,但收到403禁止。React运行于:3000,Keycloak运行于:8080端口。这是Keycloak.ts
import Keycloak from 'keycloak-js';
const keycloak = Keycloak({
url: 'http://localhost:8080/auth',
realm: "keycloak-react-auth",
clientId: "react",
});
export default keycloak;
index.ts
import keycloak from './keycloak'
import AppRouter from './routes/index'
import { ReactKeycloakProvider } from '@react-keycloak/web'
const eventLogger = (event: unknown, error: unknown) => {
console.log('onKeycloakEvent', event, error)
}
const tokenLogger = (tokens: unknown) => {
console.log('onKeycloakTokens', tokens)
}
ReactDOM.render(
<React.StrictMode>
<ReactKeycloakProvider
authClient={keycloak}
onEvent={eventLogger}
onTokens={tokenLogger}
>
<div style={{margin: '0px', padding: '0px', width: '100%', height: '100%'}}>
<AppRouter />
</div>
</ReactKeycloakProvider>
</React.StrictMode>,
document.getElementById('root')
这是keycloak客户端配置
Keycloak正在最新版本上运行:docker pull jboss/keycloak:latest
React时:
1.“密钥罩-js”:“^20.0.3”,
1.“@React-密钥罩/web”:“^3.4.0”,
错误代码:
1条答案
按热度按时间txu3uszq1#
你把你的Keycloak配置文件放在哪里了?它应该在你的React应用的公共文件夹中。另外,如果你设置正确,登录正确,检查你的领域也是值得检查的。你可以看看这个github问题报告on this address。你也可以检查你的keycloak日志,检查它是否配置正确。我希望这对你有帮助。另外,在这个link上,你有一个react的基本配置,所以一定要通读它,检查你在配置过程中是否遗漏了什么。