2013-04-21 3 views
0

사용자 인증이 필요한 웹 응용 프로그램이 있다고 가정합니다. 자체적으로 수행하는 대신 사용자를 전용 인증 서비스로 리디렉션합니다.JSON 웹 토큰을 클라이언트 응용 프로그램으로 전송하는 방법은 무엇입니까?

사용자가 로그인하면 사용자의 클레임이 포함 된 JSON 웹 토큰 (JWT)이 만들어집니다.

지금 - 어떻게 JWT를 클라이언트 응용 프로그램으로 다시 보냅니 까?

기본적으로 리디렉션을 다시 수행 할 수 있지만 JWT를 URL에 넣어야합니다.이 문제를 피하고자합니다 (모든 사람이 볼 수있는 토큰을 갖는 것이 가장 좋은 생각은 아닙니다. 브라우저 기록에 대한 액세스).

그 밖의 어떤 조치를 취해야합니까?

원래 서버로 돌아가 본문에 JWT를 보내는 것이 상상할 수 있습니다. 그러면 숨겨져 원래 서버가 토큰에 액세스 할 수 있습니다.

다른 아이디어 나 제안이 있으십니까?

답변

2

OAuth, CAS, SAML 및 OpenID는 이러한 상황을 해결하는 몇 가지 프로토콜입니다. 일반적으로 라이브러리를 구현하는 것은 꽤 쉽습니다.

대부분의 제안은 이러한 흐름 :

구글의 OAuth2를 인증 가이드의 "서버 흐름 '섹션의 예를 재 구현 될 어떻게 3 개체 (브라우저, 웹 사이트, 인증) 교환 토큰 :

https://developers.google.com/accounts/docs/OAuth2Login

-1

이 당신이 웹 어플리케이션의 종류에 따라,이 작업을 수행 할 수있는 여러 가지 방법 : 브라우저 기반 (JavaScript)를 하나의 서버 기반 (PHP, ASP 등) 하나. 다행히도 이러한 문제는 이미 잘 생각 된 해결책이 있습니다. 사용자 인증을 위해서는 OpenId Connect 사양을 확인하십시오. 그것은 당신에게 당신의 질문에 대한 정확한 해결책을 줄 것입니다.

관련 문제