Keycloak- angular: сбой доступа / аккаунта с ошибкой 403 и сообщением CORS - PullRequest
0 голосов
/ 27 февраля 2020

Я использую angular -ключевой ключ 7.1.0 с клавиатурным ключом 8.0.2 (и keycloak- js 8.0.2). Я создал область openIdConnect с клиентом, настроенный с типом доступа: publi c и мелкой конфигурацией OpenID Connect для создания JWT ES256 (JSON Web Token).

Когда я пытаюсь войти через мой Ioni c - Angular Web-App (Chrome, Safari) отображается форма входа в систему под ключом, если пользователь еще не вошел в систему. После отправки учетных данных конечная точка / token успешно вызывается и отвечает ожидаемому JWT.

Но затем keycloak- angular -lib вызывает 'http://localhost: 8080 / auth / realms / REALM_NAME / account 'для доступа к профилю пользователя, который предоставляет:

Access to XMLHttpRequest at 'http://localhost:8080/auth/realms/REALM_NAME/account' from origin 
'http://localhost:1337' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is 
present on the requested resource.

Еще несколько подсказок:

  • Я уже перепробовал все варианты конфигурации клиента keycloak с помощью * и +, относительные и абсолютные пути для веб-происхождения и действительных URI перенаправления.

  • / запрос токена работает нормально.

  • Я внес несколько изменений на клиенте мапперы областей, особенно в профиле маперов.

  • Я могу получить доступ к пути / account через почтальона

1 Ответ

0 голосов
/ 28 февраля 2020

В конце концов я обнаружил, что мои настройки объема были причиной этого. Если для параметра «Полная область действия разрешено» установлено значение «истина», это решило проблему.

Чтобы разрешить пользователям доступ к своим профилям, когда «Полная область разрешена», я назначил роль «просмотр профиля» клиент "account" в ролях клиента области видимости user-access-client, который я использую для входа пользователя. enter image description here (я не знал, что аккаунт был автоматически созданным клиентом области)

...