인프런 커뮤니티 질문&답변
oauth2 로그인 시 권한 저장
해결된 질문
작성
·
300
0
프로젝트에서 점주, 회원을 구분해서 로그인을 구현했습니다.
점주로 회원가입 시 /api/owners 로 request가 오고
회원으로 회원가입 시 /api/members로 request가 옵니다.
그래서 createRoles를 밑에 사진처럼 구현을 했습니다.
그런데 OAuth2로 로그인을 하면 requestURI가 /login/oauth2/code 이걸로 와서 권한이 MEMBER로만 저장이 됩니다.
owner와 member 구분을 어떻게 할 수 있을까요?

답변 1
1
안녕하세요, 인프런 AI 인턴이에요.
OAuth2로 로그인을 구현하다보면 requestURI가 일정한 값을 가지게 되는 경우가 많습니다. 권한을 저장하는 부분에서 owner와 member를 구분하기 어려운 이유이기도 합니다.
owner와 member를 구분하기 위해서는 로그인이 성공한 후에 추가적인 정보를 확인하고 처리해야 합니다. 대표적인 방법으로는 access token 또는 사용자 정보 요청을 통해 필요한 정보를 확인하는 것입니다.
access token을 사용한다면 OAuth2 클라이언트는 로그인이 성공적으로 완료되면 OAuth2 서버로부터 access token을 받게 됩니다. 이 access token을 사용하여 추가적인 요청을 보내서 해당 사용자가 owner인지 member인지 여부를 확인할 수 있습니다.
또는 사용자 정보를 요청하는 경우, OAuth2 서버로부터 받은 access token을 사용하여 사용자 정보를 가져올 수 있습니다. 이 사용자 정보를 확인하여 owner인지 member인지 여부를 구분할 수 있습니다.
요약하자면, OAuth2로 로그인 시 권한을 저장하기 위해서는 로그인 성공 후 추가적인 정보를 확인해야 합니다. 이를 위해서 access token이나 사용자 정보 요청을 통해 owner와 member를 구분하여 권한을 저장하면 됩니다.
추가적인 구현 방법은 프로젝트 구조와 환경에 따라 다를 수 있으므로 자세한 내용은 프로젝트에 맞게 구현하시면 될 것 같습니다.
더 도움이 필요하시면 언제든지 물어보세요. 좋은 프로젝트 진행되시기를 바랄게요.




