У меня есть HTML-страница с Javascript, где я хочу, чтобы автоматически войти в систему пользователя.У меня есть следующий код:
var url = "http://localhost:8180/auth/realms/Myrealm/protocol/openid-connect/token";
const response = await fetch(url, {
mode: 'no-cors',
method: "POST",
body: JSON.stringify({
"client_id":"myclientid",
"username":"admin",
"password":"123",
"grant_type":"password"
}),
headers:{
//"Content-type":"application/x-www-form-urlencoded",
"Content-Type": "application/json"
}
})
На сервере Keycloak я добавил Web Origins '*' .Я получаю следующую ошибку:
POST http://localhost:8180/auth/realms/Myrealm/protocol/openid-connect/token 400 (неверный запрос)
Я не знаю, почему он не работает.Когда я использую терминал, он работает нормально:
curl -i -d "client_id=myclientid" -d "username=admin" -d "password=123" -d "grant_type=password" http://localhost:8180/auth/realms/Myrealm/protocol/openid-connect/token
(версия ключа 4.8.3)
Обновление
const response = await fetch(url, {
method: "POST",
body: 'client_id=myclientid&password=123&username=admin&grant_type=password',
headers:{
"Content-type":"application/x-www-form-urlencoded"
}
})
, и я получаю следующий ответ: