Когда я настраиваю клиента publi c в Keycloak, задаю все необходимые поля для моей локальной песочницы
Я сохраняю OID C JSON Keycloak со вкладки установки в локальный keycloak.json
файл, добавьте мое приложение Node.js и нажмите http://localhost: 3000 / защищено , в моем браузере появится следующая страница:
** URL содержит дополнительные /
после auth-server-url
. Вот мой keycloak.json
:
{
"realm": "keycloak-node-monolith",
"auth-server-url": "http://localhost:8180/auth/",
"ssl-required": "external",
"resource": "keycloak-node-monolith-public",
"public-client": true,
"confidential-port": 0
}
Проблема менее очевидна в случае клиентов только для канала-носителя, потому что нет аутентификации перенаправления и вы не видите URL.
В случае клиентов только с однонаправленным каналом все, что вы видите, - это «Отказано в доступе», даже если вы отправляете на сервер нужные токены однонаправленного канала.
Причина проблемы root та же, оба случая: Keycloak-connect добавляет дополнительно /
после auth-server-url
, поэтому вам нужно удалить /
в вашем keycloak.json
.