2017-01-26 6 views
0

나는 가능한 한 명확하고 직접적인 질문을하려고 노력할 것이다.Okta -이 경우 현재 로그온 한 사용자를 어떻게 식별합니까?

  1. 리디렉션 URI가 Okta로 구성된 사회 인증 (Facebook)을 사용자 지정 웹 응용 프로그램의 URL로 구성했습니다. 이 커스텀 웹 어플리케이션은 인증을 위해 Okta를 사용합니다.
  2. 사용자가 내 사용자 지정 webapp (인증되지 않음)를 방문하고 사용자 지정 웹 응용 프로그램에 로그인하기 위해 소셜 인증 URL을 클릭합니다.
  3. 사용자는 정상적인 흐름을 따르고, 페이스 북과 그에 따라 Okta (보통 플로우 당)에 의해 인증을 받고 Okta에 의해 다시 사용자 정의 webapp로 리디렉션됩니다.
  4. 전체 흐름이 성공적이며 사용자가 브라우저에서 Okta 세션 쿠키 세트를 볼 수 있습니다.
  5. 이제 사용자 정의 webapp는 Okta API 호출을 통해 사용자에게 자신의 프로필을 보여줘야합니다.

문제 : 어떻게 내 사용자 지정 웹 애플리케이션은 단지 그들이 API를 사용하여 Okta 프로필을 가져올 수 있도록 로그인 한 사람 식별 할 수 있습니까?

Okta는 페이스 북이 OAuth 클라이언트 (Okta)로 전송하는 클레임 ​​때문에 누가 로그인했는지 알지만, 로그인 한 사용자의 ID는 어떻게 알 수 있습니까?

감사합니다,

Jatin

답변

0

그것은 OAuth2 flow 앱에 대해 선택한에 따라 다르지만 최종 상태는 바로 로그인 한 사용자에 대한 claims을 포함 Okta에서 id_token지고 있습니다.

당신은 당신이 다음를 사용하여 id_token을 위해 교환 할 수 리디렉션에 code 쿼리 PARAM를 얻을 수 있습니다 4 단계 후

당신이 소셜 인증의 URL (/authorize)에 response_type=code을 설정 한 경우,끝점. 당신이 response_type=id_token, 당신은 이미 리디렉션에 id_token을 가져야 설정 한 경우

또는 - 방금 확인 필요/IT (더 많은 정보 here)를 디코딩.

+0

감사합니다 remanc,이 유망 보인다. 나는 그것을 밖으로 시도하고 대답을 받아 들일 것입니다. – Jatin