OAuth 사용하기(1. 등록)

Walker·2021년 5월 2일
0

OAuth

목록 보기
2/4
post-thumbnail

전 글에서 봤던 그림과 기본적인 구조는 같지만
공식 문서(https://tools.ietf.org/html/rfc6749)의 용어로 바꿔본다면 위와 같다.
수업에서는 Resource Server(정보)와 Authorization Server(인증)는
Resource Server 하나로 기능한다고 가정하고 설명하셨다.


OAuth 사용에서 첫번째로 해야 할 일은 등록(Register)이다.
Client에서 Resource Server
"나 너희가 가진 정보/기능을 사용할래"라고 미리 등록을 하는 것이다.

이 과정의 실제 예시를 보기 전에 알아야할 정보 3가지를 설명하자면

Client ID는 마치 User의 ID처럼
Client(웹사이트/서비스)의 이름이라고 할 수 있다.(노출 되어도 상관없음.)

Client Secret은 마치 User의 PW처럼
Client의 비밀번호 역할을 한다.(절대로 Never Ever 노출 되어서는 안된다!)

Authorized Redirect URL은 일종의 약속된 통로다.
Resource ServerAuthorized Code를 요청할 때
이 주소가 아니면 Resource Server에서 요청을 무시하도록 한다.

수업에서는 Facebook, Google에서의 등록 과정을 예시로 사용한다.
(최근 UI와는 많이 다르지만 흐름은 비슷할 것 같다.)


Facebook의 경우 먼저 보여지는 이름을 등록한다.

다음으로는 Facebook의 로그인 기능 사용하겠다는 의미로 Set Up을 선택한다.

이후 Client의 URL을 입력한다.

위에서 설명한 Authorized Redirect URL을 Set Up한 Login의 Settings 부분에 입력한다.
(clinet으로 입력하셨다...ㅠㅜ)

Basic 탭에 가면 App ID(Client ID), App Secret(Client Secret)를 확인 할 수 있다.


Google의 경우 원하는 이름으로 새로운 프로젝트를 생성한다.

생성한 프로젝트의 APIs & Services 메뉴에서 Credentials를 선택하고
이후 Create credentials에서 OAuth client ID를 고른다.

여기는 그냥 console에서 보여질 정보라 원하는대로 적어도 무방하다.
(Privacy policy URL은 개발 단계에서는 안 적어줘도 된다고 함)

종류, 이름 그리고 Authorized Redirect URL을 입력한다.
(예시에서는 없는 주소라 org를 임의로 추가하심)

결과적으로 Client ID와 Client Secret을 얻을 수 있고
위와 같이 공개적으로 Client Secret을 보여주는 것은 절대로 안된다!

다음 단계는 승인이다.

profile
I walk slowly, but I never walk backward. -Abraham Lincoln-

0개의 댓글