Keycloak: Как сделать автоматическую аутентификацию для вошедшего в систему пользователя Windows? - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь создать C # приложение , которое будет использовать Keycloak для аутентификации .В настоящее время я могу войти в систему как пользователь, используя OpenID Connect , отправив следующий запрос REST:

POST
http://{server}:{port}/auth/realms/{myRealm}/protocol/openid-connect/token

Body (x-www-form-urlencoded):
    client_id    {myClient}
    username     FooBar
    password     {userPassword}
    grant_type   password

Отправка этого запроса приводит к получению обоих токена доступа и обновить токен .

Теперь я хотел бы иметь возможность каким-либо образом войти в систему (получить токены или иным образом аутентифицировать пользователя), используя «текущий активный сеанс Windows» под которым я подразумеваю, что пользователь (существующий в Active Directory LDAP ), который в настоящее время вошел в Windows, должен пройти аутентификацию без предоставления каких-либо учетных данных.

Федерация пользователей в моей области Keycloak уже есть конфигурация для сервера AD LDAP, так что все пользователи теперь также доступны в Keycloak.

Я просмотрел документацию Keycloak (особенно разделы о LDAP и Active Directory и Kerberos ), но не совсем понял, что именно нужно сделать, чтобы заставить его работать.

Я также искал здесь на SO, но единственное, что я нашел, это какой-то другой пользователь, который упомянул, что это возможно .

Может кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 12 июля 2019

В терминах Keycloak вы запрашиваете аутентификацию SPNEGO. См. https://www.keycloak.org/docs/latest/server_admin/index.html#_kerberos

. На вкладке аутентификации области необходимо включить Kerberos. В вашем браузере должен быть включен SPNEGO.Разные браузеры делают это по-разному.Вы включаете определенный URL для SPNEGO

...