Генерация токенов OpenAM для пользователя

Допустим, у меня есть два приложения, appA и appB. appA использует простой подход к аутентификации базы данных, а appB использует OpenAM от ForgeRock. Я хочу, чтобы пользователь в приложении A мог выполнять единый вход в приложение B. Поскольку имя пользователя/пароль в appA отличается от учетных данных в OpenDj, я хочу добавить в свою пользовательскую таблицу в appA столбец с именем external_user_id. Затем я бы использовал это для создания токена для передачи в appB. Мне любопытно, есть ли в OpenAm способ генерировать токены для пользователя, используя только его имя пользователя, а не пароль. Если бы была идея учетной записи serviceAdmin, которая позволяет appA генерировать токены на основе только имени пользователя, это было бы здорово, но я сомневаюсь, что что-то подобное существует. Есть ли что-то подобное в OpenAM, чего мне не хватает?


person Tyler Wright    schedule 14.04.2017    source источник
comment
На самом деле мне просто интересно, есть ли в OpenAM способ сгенерировать токен для пользователя из другой учетной записи администратора.   -  person Tyler Wright    schedule 14.04.2017
comment
Предположительно, OpenAM потребуется некоторый уровень доверия для appA?   -  person GalacticCowboy    schedule 14.04.2017


Ответы (1)


Лучший способ справиться с такой ситуацией — написать собственный модуль аутентификации, который будет получать идентификатор сеанса или «секрет» от appA, затем проверять его и запускать новый сеанс в домене OpenAM и, таким образом, предоставлять доступ к appB. .

person Peter Major    schedule 06.08.2017