카카오, 네이버 로그인을 구현해야하는데 하나 의문이 떠올랐다.
소셜 로그인은 분명 oauth2를 이용한다, 지난 카카오 로그인을 구현했을때도 분명 사용했다.
그렇다면 oauth2의 역할을 무엇이지? 일반적으로 소셜로그인에 사용한다고만 알고 있지 정확히 무엇을 하는지 모르고 있었다 !
프레임워크 ? 패키지? .. 흠 그렇지만 잘 생각을 해보면 소셜 로그인 주체 인증서버에서 코드를 받는 행위를 했었는데
그렇다면 코드를 받는것에 어떤 개입을 하는것일까 ? 도대체 어떤 부분에 개입을 한단말인가 ! 라는 생각에
구글링 + 챗지피티를 활용하였다.
우선 구글링 중 oauth2는 하나의 표준 프로토콜이다 라는 말이 있어 이를 챗지피티에 확인해보았다
이에 대한 답변은
=> OAuth 2.0(OAuth2)**는 **정확히 말하면 “인증 및 인가를 위한 프레임워크(framework)”**입니다.
즉, **하나의 프로토콜(protocol)**이라고 단정 짓기엔 조금 애매합니다.
흠.. 옳다.. HTTP나 FTP와 같은 프로토콜이라고 하기엔 어떤 규약성이 있다고 보긴 힘들지 않을까 ?
정확한 메세지 포맷이나 통신 절차를 세세히 정의하진 않았으니..
=> OAuth 2.0은 "하나의 프로토콜"이라기보다
**"인가(Authorization)를 위한 프레임워크" 혹은 "표준 사양(specification)"**이라고 부르는 것이 맞습니다.
그렇다 이 녀석은 하나의 표준 사양이다 프로토콜과 같은 통신 절차는 아니더라도 요렇게 하자 !! 라고 하는
하나의 약속(규칙서) 라고 이해하는게 옳다.
IETF(인터넷 표준 기구)에서 RFC 6749라는 문서로 OAUTH2를 만든것이고 각 서비스 제공자(카카오, 네이버..등)
은 이를 구현하여 로그인 서비스를 제공하는 것일 뿐이다.
지난 팀 프로젝트에서 로그인을 구현할때는 사실 급하게 만드느라 이해를 조금 놓치고 있었는데
개념을 알고 갈 수 있어서 다행이다.
댓글