2016-07-31 1 views
0

OAuth를 이해하는 것이 전반적인 흐름이며 JWT는 클라이언트와 서버간에 토큰을 전달하는 데 사용할 수있는 단 하나의 형식입니까? 이 이해가 맞습니까?OAuth와 JWT 간의 관계

답변

1

기본적으로 정확합니다. OAuth2는 타사 응용 프로그램 (웹 사이트, 모바일 응용 프로그램)이 사용자 암호를 노출하지 않고 자원 서버의 자원에 액세스하는 데 사용하는 권한 부여 프레임 워크입니다. JWT는 양 당사자 (디지털 서명이있는 JSON)간에 전송되는 클레임을 표현하는 간결한 방법입니다. OAuth2는 교환 토큰으로서 JWT를 사용할 수 있고, 클라이언트 인증 (예를 들어, JWT Profile을 사용)을 액세스 토큰 RFC7800으로서, 또는 OpenID Connect 컨텍스트에서 ID 토큰으로서 사용할 때 사용할 수있다. 한마디로이 http://www.seedbox.com/en/blog/2015/06/05/oauth-2-vs-json-web-tokens-comment-securiser-un-api/

2

는 JWT가 명시 적으로하지 않고 당신이 원하는 리소스에 액세스 할 수 있습니다

확인은 인증 절차 물마루. 인증 데이터가 http 요청의 헤더에있는 토큰으로 전송되면이 토큰이 확인되고 모든 것이 올바르게 수행되면 다른 데이터에 액세스합니다 (ttl을 초과하거나 잘못된 데이터가 포함 된 경우) 모든 http 요청에서 api로 전송해야하는 새 토큰을 만들려면 자격 증명을 제공해야합니다.

일반적으로 응용 프로그램에서 우리는 : 사용자를 인증합니다. 2 자격 증명이 올 바르면 사용자가 제공 한 정확한 자격 증명에서 jwt 토큰을 만드는 동안 응용 프로그램에 로그인 할 수 있습니다. 3 사용자에게 jwt 토큰을 보냅니다. 4 사용자가 토큰을 쿠키에 저장합니다. 또는 그가 보낸 모든 HTTP 요청 헤더에 5 사용자가 명시 적으로 자격 증명을 제공하여 인증 할 필요가 없으면 응용 프로그램에 로그인 할 때마다 http 요청의 헤더에 jwt 토큰을 보내면됩니다.