Веб-приложение + серверная часть с Keycloak SSO - PullRequest
0 голосов
/ 26 мая 2020

У меня есть веб-приложение (Angular 9 + keycloak- angular) + серверная часть (Quarkus 1.4), и вход в систему или аутентификация выполняется через Keycloak. Моя проблема в том, что я должен позвонить в серверную часть перед входом в систему. Но Keycloak или Quarkus блокируют вызов, и я получаю ошибку 401 или 403.

приложение. json Quarkus структурировано следующим образом:

quarkus.oidc.enabled=true
quarkus.oidc.auth-server-url=${keycloak.url}/auth/realms/${keycloak.realm}
quarkus.oidc.client-id=${keycloak.backend.client_id}
quarkus.oidc.credentials.secret=${keycloak.backend.secret}
quarkus.keycloak.policy-enforcer.enable=true
quarkus.http.port=8080
quarkus.http.cors=true
quarkus.http.auth.form.enabled=true
quarkus.http.auth.permission.permit1.paths=/public1/*
quarkus.http.auth.permission.permit1.policy=permit
quarkus.http.auth.permission.permit1.methods=GET,HEAD

в Keycloak Я настроил клиент для бэкэнда следующим образом, иначе я ничего не изменил на клиенте: Keycloak Backend Client Settings

Моя цель - иметь конечную точку в бэкэнде для защищенной области (через Keycloak) и другие различные конечные точки publi c, к которым можно получить доступ перед входом в систему.

Защищенная область должна быть доступна в / api / , publi c, например, в / public1 / , / public2 / * и / public3 / *

Для этого я уже пробовал следующее, что не помогло:

  • в quarkus Я включил разрешения для конечной точки
  • в Keycloak URL-адрес root установлен только для защищенной конечной точки
  • @ PermitAll установлен на publi c конечные точки

, но у меня заканчиваются идеи. ..

Надеюсь, у кого-то из вас есть предложение

...