어느샌가부터 SNS 아이디로 다른 사이트 접속 및 게임 접속 시에도 SNS 연동 등 많은 곳에서 사용하는 쉽게 이야기하면 인증을 중개한다(?)라는 사례를 많이 보는 것 같다. 이를 통해서 매번 어떤 것을 이용하기 위해서 그곳에 새로운 id를 생성 후 로그인하여 이용하였지만 앞서 말한 인증을 중개하는 것(?)을 통해 한결 편리하게 이용할 수 있게 되었다.
앞서 말한 이런 것들을 OAuth 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는, 접근 위임을 위한 것이라고 생각하면 될 것 같다.
지금은 OAuth 1.0에서 시작해서 OAuth 2.0까지 나온 상태라고 하는데 차이점도 본의아니게 찾아보게 되었다. 구글링의 늪에...
먼저 브라우저 기반이 아닌 응용 프로그램을 더 잘 지원할 수 있는 흐름을 가지고 기존의 1.0에서 필요했던 클라이언트 응용 프로그램의 암호화가 필요하지 않다고 한다. 그리고 서명이 덜 복잡하고 토큰도 상대적으로 짧다고 한다. 아직 OAuth를 아는 단계이다보니 확실히 무슨 말을 하는지는 모르겠지만 어떤 느낌인지는 이해가 되었다.
어떤 플로우를 따르는 가를 보아하니
내가 게임 웹사이트에 접속한다고 보면 내 SNS 로그인을 통해 게임 웹사이트에 로그인을 하게 된다. OAuth를 이용하는 SNS 서버는 자원 서버(Resource Server)와 인증서버(Authorization Server)로 분리되어 있다. 하지만 분리되어 있을 뿐 이 두 서버는 SNS 서버의 것이다. 자원 서버는 로그인 사용자의 자원을 인증하기 위해 인증서버로 넘겨준다고 생각하면 될 것 같다. 그럼 인증서버는 내가 접속한 게임 웹사이트의 서버로 인증코드와 액세스 토큰을 발행해주는 것이다. 그렇게 게임 웹사이트를 SNS 로그인 인증을 통해 로그인이 가능해지는 것이다.
'개념정리' 카테고리의 다른 글
11/9[TIL] Asynchronous (0) | 2020.11.09 |
---|---|
11/3[TIL]AWS Deploy (0) | 2020.11.03 |
10/28[TIL]Authentication (0) | 2020.10.28 |
10/26[TIL]MVC Patterns & ORM (0) | 2020.10.26 |
10/21[TIL]Database (0) | 2020.10.21 |