Можно ли выполнить проверку подлинности с помощью провайдера идентификации Keycloak (OpenAM) без использования экрана входа в систему?

Обратите внимание, что я новичок в приложениях, о которых упоминаю, поэтому я могу использовать терминологию неправильно. Я добавил несколько диаграмм, чтобы объяснить себя как мог.

Я пытаюсь настроить политику проверки подлинности веб-службы в APIMAN (которая использует Keycloak внутри)

Пока я знаю, что Identity Provider (OpenAM), который я создал в Keycloak, настроен правильно, так как он работает на странице входа в систему (см. Изображение 1 ниже)Изображение 1

Я также успешно использовал access_token через OpenID API Keycloak для доступа к веб-сервису; но только если учетные данные пользователя находятся в Keycloak (в отличие от OpenAM) (см. изображение 2)Изображение 2

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

Обратите внимание, что я также пробовал федерацию пользователей с LDAP за OpenAM, и она работала правильно, но я хотел бы знать, есть ли способ сделать это через OpenAM.

1 ответ

То, как вы использовали keycloak и openam, довольно необычно, однако, если я правильно понимаю ваш вопрос, вы хотите, чтобы keycloak перенаправлял запрос веб-службы на openam, а не на ldap,

Вы также можете:

  1. настройте openam в качестве поставщика удостоверений, используя saml:

Openam будет вашим источником идентичности, а keyclaok будет его клиентами, вы можете сделать это, настроив keycloak: провайдер идентификации -> saml IDP -> и здесь вы разместите метаданные openam.

  1. настроить openam как провайдера OIDC:

В keycloak вы переходите к провайдерам идентификации -> создать -> провайдер oidc v1 -> и размещаете свою информацию об openam.

Как я уже сказал, это можно сделать, но это не так, как должно быть, openam и keycloak - это программное обеспечение для управления доступом, они оба делают одно и то же, в вашей конфигурации keycloak играет роль API-шлюза, который не совсем то, что должен делать keycloak, вы можете избавиться от любого из решений, оба могут предоставить вам одинаковые функции (OIDC, OAuth2, SAML, LDAP,...)

Другие вопросы по тегам