Я делаю следующие шаги, чтобы получить токен безопасности из браузера для аутентификации единого входа.
Я могу найти токен из заголовка http. Мой вопрос: а) Как мне проверить этот токен с активным каталогом? б) Как мне найти имя пользователя из этого токена?
Во время поиска в Google кажется, что Java API имеет модуль входа в систему Kerberos5, чтобы делать то, что я ожидал. Но почти на всех страницах отсутствуют простые примеры.
- Веб-клиент обращается к ресурсу AS Java с помощью запроса GET.
- AS Java отправляет обратно код ответа 401 (неавторизованный) с запросом на инициацию аутентификации SPNego путем установки для заголовка HTTP «WWW-Authenticate» значения «Negotiate».
- Веб-клиент распознает, что узел AS Java является членом области Kerberos, и получает билет сеанса клиента/сервера Kerberos для AS Java от KDC.
- Затем веб-клиент отправляет билет сеанса клиента/сервера Kerberos в AS Java в виде токена SPNego в заголовке авторизации HTTP.
- SPNegoLoginModule считывает токен из HTTP-запроса и передает его реализации Kerberos JDK.
- Результатом является либо успешная проверка подлинности клиента, либо сбой, когда запрос клиента отклоняется или требуется еще одно обращение к KDC. В случае сбоя реализация Kerberos JDK AS Java генерирует и отправляет обратно веб-клиенту выходной токен. Выходной токен упаковывается как токен SPNego и отправляется в заголовке авторизации HTTP.
Любая помощь будет оценена по достоинству.