인프런 커뮤니티 질문&답변

유요한님의 프로필 이미지
유요한

작성한 질문수

스프링 시큐리티 OAuth2

Oauth2 + jwt 에 대한 질문이 있습니다.

작성

·

512

0

시큐리티 + jwt만을 사용한다면 회원가입하고 로그인하면 jwt를 클라이언트에게 보내줘서 다른 요청을 할 때 jwt를 함께 보내고 게시판이 해당 유저인지 판별할 때 예전에는 세션으로 사용했지만 이제는 jwt로 구별한다고 알고있습니다. 그러면 Oauth2 + jwt는 회원가입, 로그인만 소셜로그인 즉, 외부로 빼기만 한거고 소셜 로그인이 성공하면 jwt를 클라이언트에게 주고 그걸로 로그인을 유지한다던지 나머지 역할은 같나요?

 

소셜 로그인하면 accessToken을 발급해주는데 그거는 단지 서버에서 소셜로그인할 때 연결하기 위한거고 클라이언트에겐 따로 jwt를 만들어서 accessToken, refreshToken을 발급해줘야 하는건가요?

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

질문하신 내용이 전반적으로 맞는 해석입니다

OAuth2 는 사용자를 대신하여 클라이언트에게 권한을 위임하는 개념이고 클라이언트에게 권한이 주어졌다면 OAuth2 의 역할은 끝났습니다. 그 증거로 Access Token 을 클라이언트에게 발급한 겁니다

그 다음부터 클라이언트가 토큰을 가지고 인증처리를 할 것인지 아니면 특정한 리소스를 요청할 것인지는 개발자의 몫입니다

보통은 사용자의 정보를 가져와서 인증처리를 하게 됩니다. 그리고 인증처리 이후 지속적인 인증 흐름을 유지하기 위해 세션방식으로 할 것인지 아니면 jwt 인증방식으로 할 것인지는 외부 기관의 OAuth2 와는 아무런 상관이 없습니다

만약 세션이 만료되거나 jwt 가 폐기되는 상황이 발생되었을 때 다시 소셜로그인 OAuth2 의 흐름을 동일하게 타면 됩니다

그래서 질문하신 내용이 잘 이해한 것이라 보여집니다

유요한님의 프로필 이미지
유요한

작성한 질문수

질문하기