728x90
내가 만든 서비스인 mine, 그 서비스를 사용하는 user, 그리고 내가 만든 서비스가 연동하려고 하는 their가 있다.
user가 mine에 접속해서 their의 서비스들, 즉 구글 로그인 같은 것들을 사용하기 위해서는 mine이 user로부터 user가 사용하고 있는 their의 서비스에 접근할 수 있도록 허가를 받아야 한다.
그러기 위해선 mine이 user의 id와 password를 전달받아서 그것을 기억하고 있다가 their의 서비스에 접속할 때 이용한다. 이는 아주 간단하고 강력한 방법이지만 user의 id와 password가 유출되기 쉽기에 위험하다.
그렇기에 OAuth를 사용하면 안전하게 their의 서비스를 이용할 수 있다.
their는 user의 요청을 받으면 그들의 id와 password 대신 accessToken이라는 것을 발급한다. 이 accessToken을 사용하여 mine은 their의 서비스 중 원하는 것들만 안전하게 이용할 수 있다.
1. 역할
위에서 말한 user, mine, their는 OAuth에서는 다음과 같이 바꾸어 말한다.
- Resource Owner(user) : 자원의 소유자
- Client(mine) : Resource Server에 접속해서 자원을 가져간다.
- Resource Server(their) : 제어하고자 하는 자원을 갖고 있다.
2. 등록
Client가 Resource Server(이하 R.S)를 이용하기 위해선 사전에 승인을 받아야 하는데 이 과정을 register(등록)이라 한다.
각 서비스마다 등록 방법은 다르지만 세 가지 공통된 항목을 받는다.
- Client ID : 우리가 만들고 있는 애플리케이션의 식별자 (노출 가능)
- Client Secret : 우리가 만들고 있는 애플리케이션의 비밀번호 (노출 불가능)
- Authorized redirect URI : R.S가 권한을 부여하는 과정에서 우리에게 Authorized Code를 전달하는데, 그때 전달받는 주소.
'기타' 카테고리의 다른 글
[소프트웨어 개발 방법론] 애자일 - 개념 (0) | 2022.01.29 |
---|---|
[소프트웨어 개발 방법론] 폭포수 개발 (0) | 2022.01.29 |
[OAuth 2.0] 4. API 호출과 Refresh Token (0) | 2022.01.23 |
[OAuth 2.0] 3. 액세스 토큰 발급 (0) | 2022.01.19 |
[OAuth 2.0] 2. Resource Owner와 Resource Server의 승인 (0) | 2022.01.19 |