2017-01-26 17 views
0

Я постараюсь держать вопрос как можно более ясным и прямым.Okta - Как я могу идентифицировать текущего пользователя в этом случае?

  1. Социальная аутентификация (Facebook), настроенная с Okta с URL-адресом перенаправления в качестве URL-адреса моего пользовательского webapp. Этот пользовательский webapp полагается на Okta для аутентификации.
  2. Пользователь посещает мой пользовательский webapp (не прошедший проверку подлинности) и нажимает на URL социальной аутентификации для входа в мой пользовательский webapp.
  3. Пользователь следует за нормальным потоком, получает аутентификацию через facebook и, следовательно, Okta (в соответствии с обычным потоком) и затем перенаправляется Okta обратно в пользовательский webapp.
  4. Весь поток является успешным, и пользователь может видеть cookie сеанса Okta в своем браузере.
  5. Пользовательский webapp теперь должен показать пользователю свой профиль, выполнив вызов Okta API.

Проблема: Как мой пользовательский веб-приложение определить, кто только что вошел в так, что они могут принести их окт профиля с помощью API?

Я знаю, что Okta знает, кто только что вошел в систему из-за претензий, которые facebook отправляет клиенту OAuth (Okta), но как мое приложение узнает личность пользователя, который вошел в систему?

Спасибо,

Jatin

ответ

0

Это зависит от OAuth2 flow вы выбрали для вашего приложения, но конечное состояние получает в id_token от окта, который содержит claims о пользователе, который только что вошел.

Если вы установили response_type=code в вашей социальной URL аутентификации (/authorize), после шага 4 вы получите из параметров code запроса в перенаправлении, которые затем можно обменять на id_token используя /token конечная точка.

Или, если вы установили response_type=id_token, вы должны уже иметь id_token в перенаправлении - вам просто нужно проверить/декодировать (подробнее here).

+0

Спасибо, что это выглядит многообещающе. Я попробую, а затем приму ваш ответ. – Jatin

Смежные вопросы