본문 바로가기

etc.

Google API 사용자 인증

1. OAuth 2.0 클라이언트

최종 사용자를 대신하여 비공개 데이터에 엑세스

사용자의 개인적인 데이터에 접근해야하는 서비스에서 이용된다.

OAuth 2.0 클라이언트는 애플리케이션을 식별하고 최종 사용자가 Google을 통해 애플리케이션을 인증할 수 있도록 해준다. 최종 사용자를 대신하여 애플리케이션에서 Google API에 액세스 할 수 있다.

 

- OAuth 2.0이란?

사용자가 어떤 서비스에 저장된 자신의 데이터를 다른 서비스에서 접근할 수 있도록 허락해주는 프로토콜

OAuth 2.0을 사용하면 애플리케이션은 타 서비스에 저장된 사용자 데이터를 접근해도 되는지 사용자에게 명시적으로 허락을 받을 수 있다.

 

OAuth 2.0 프로토콜은 애플리케이션의 유형에 따라 여러가지 인가 방식을 제공한다. React나 Vue, Angular 등과 같은 자바스크립트 라이브러리로 개발되는 SPA(single oage application)에서는 implicit grant 방식이 많이 사용된다.

 

OAuth 2.0의 implicit grant 방식 인가는 크게 다음과 같은 흐름으로 진행된다.

  1. 사용자는 구글에 로그인 후에 애플리케이션에서 요청하는 권한을 확인하고, 해당 권한을 허용해준다.
  2. 구글 인가 서버는 사용자를 사전에 등록된 redirect uri로 리다이렉트 시키면서 access token을 애플리케이션에 보내준다.
  3. 애플리케이션은 이 access token을 이용해서 구글 API를 호출한다.

2. 서비스 계정 키

Google 환경 밖에서 서비스 계정을 대신하여 비공개 데이터에 액세스

서버나 프로그램 같은 사람이 아닌 사용자가(추가적인 로그인 등을 하지 않아도 될) 구글 서비스에서 인증을 진행할 수 있도록 만든 특별한 키다.

서비스 계정을 만들고 비공개 키를 JSON 파일로 다운로드 해야 한다. 런타임 시 서비스 계정 사용자 인증 정보를 생성할 수 있도록 파일을 클라이언트 라이브러리에 전달해야 한다.

 

'etc.' 카테고리의 다른 글

Git 사용법 정리  (0) 2024.11.04
Google Search Console API  (0) 2020.12.24
아파치 vshot 설정  (0) 2020.10.03
APM, Composer  (0) 2020.09.27