以下情况:
使用 docker compose ( http://127.0.0.1:8083 )设置 Keycloak 服务器
当我这样做时:
curl --data "grant_type=password&client_id=account&username=dr&password=dr" http://127.0.0.1:8083/auth/realms/xxx/protocol/openid-connect/token
有用。
然后我尝试在 react.js 上做同样的事情,如下:
axios.post(kc.authServerUrl + "/realms/xxx/protocol/openid-connect/token", {
grant_type: 'password',
client_id: 'account',
username: 'dr',
password: 'dr'
}
)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
它不起作用。我得到以下信息:
旁注:在 keycloak 上,我设置了允许来源 * 也很奇怪:我看到用户已经从 ip 172.17.0.1 打开了会话(我猜这是由 curl 引起的)
问题:如何使它从 react.js 工作?问题 2:为什么它在 curl 中工作而不是在 axios 中工作?