웹 앱은 Google API를 안전하게 호출하기 위해 액세스 토큰을 획득해야 합니다.
Google ID 서비스 JavaScript 라이브러리는 사용자 로그인 인증과 Google API와 함께 사용할 액세스 토큰을 획득하기 위한 승인을 모두 지원합니다. 이 라이브러리는 브라우저에서만 사용하도록 설계되었습니다.
인증은 사용자가 누구인지 확인하는 것으로, 일반적으로 사용자 가입 또는 로그인이라고 합니다. 승인은 데이터 또는 리소스에 대한 액세스를 승인하거나 거부하는 프로세스입니다. 여기에는 사용자 동의 획득 및 관리, 범위와 공유되는 데이터 또는 리소스 양 제한, Google API와 함께 사용할 액세스 토큰 검색이 포함됩니다.
이 가이드에서는 승인 및 데이터 공유 주제를 다룹니다.
사용자 승인 작동 방식에서는 사용자 승인의 개별 단계를 자세히 설명하고 사용자 대화상자 예를 포함합니다.
인증 및 사용자 가입 및 로그인 구현 방법에 관한 도움이 필요하면 Google 계정으로 로그인을 참고하세요.
이 라이브러리는 Node.js와 같은 서버 측 JavaScript 프레임워크와 함께 사용하기 위한 것이 아닙니다. 대신 Google의 Node.js 클라이언트 라이브러리를 사용하세요.
변경된 내용
사용자의 경우 Google ID 서비스 라이브러리는 다음과 같은 이전 JavaScript 라이브러리에 비해 다양한 유용성 개선사항을 제공합니다.
- 사용자 로그인 인증과 Google API를 호출할 액세스 토큰을 획득하기 위한 승인에 이제 두 개의 별도 사용자 흐름이 있습니다. 하나는 로그인용이고 다른 하나는 승인 중 동의용입니다. 별도의 사용자 흐름을 통해 개발자와 앱이 할 수 있는 작업을 명확하게 구분할 수 있습니다.
- 사용자 동의 중에 데이터 공유의 가시성과 세부적인 제어가 개선되었습니다.
- 브라우저 기반 대화상자를 사용하여 마찰을 줄이고 사용자가 사이트를 떠나지 않고 다음 작업을 할 수 있습니다.
- Google에서 액세스 토큰을 가져오거나
- 승인 코드를 백엔드 플랫폼으로 전송합니다.
개발자를 위해 Google은 복잡성을 줄이고, 보안을 개선하고, 통합을 간소화하는 데 중점을 두었습니다. 이러한 변경사항의 예는 다음과 같습니다.
- 로그인에 사용되는 사용자 인증과 Google API를 호출하는 액세스 토큰을 획득하는 데 사용되는 승인은 별도의 JavaScript 객체 및 메서드 집합입니다. 이렇게 하면 인증 또는 승인을 구현하는 데 필요한 복잡성과 세부정보의 양이 줄어듭니다.
- 이제 단일 JavaScript 라이브러리가 다음을 모두 지원합니다.
- 브라우저에서 사용하기 위한 액세스 토큰을 획득하는 데 사용되는 OAuth 2.0 암시적 흐름
- 오프라인 액세스라고도 하는 OAuth 2.0 승인 코드 플로우는 액세스 토큰 및 갱신 토큰으로 교환할 수 있는 승인 코드를 백엔드 플랫폼에 안전하게 전달하는 작업을 시작합니다. 이전에는 이러한 흐름을 여러 라이브러리를 사용하고 OAuth 2.0 엔드포인트에 직접 호출하는 방식으로만 사용할 수 있었습니다. 단일 라이브러리를 사용하면 여러 라이브러리와 OAuth 2.0 개념을 포함하고 학습하는 대신 통합된 단일 인터페이스에 집중할 수 있으므로 통합 시간과 노력이 줄어듭니다.
- 간단하고 가독성이 높도록 getter 스타일 함수를 통한 간접 참조가 삭제되었습니다.
- 승인 응답을 처리할 때 요청을 처리하기 위해 Promise를 사용할지 여부를 선택할 수 있습니다.
- 자바스크립트용 Google API 클라이언트 라이브러리가 다음과 같이 업데이트되었습니다.
gapi.auth2모듈과 연결된 객체 및 메서드가 더 이상 백그라운드에서 자동으로 로드되지 않으며, 더 명시적인 Google ID 서비스 라이브러리 객체 및 메서드로 대체되었습니다.- 사용자 보안 및 인식을 개선하기 위해 만료된 액세스 토큰의 자동 새로고침이 삭제되었습니다. 액세스 토큰이 만료된 후 앱은 Google API 오류 응답을 처리하고 새 유효한 액세스 토큰을 요청하고 획득해야 합니다.
- 인증 및 승인 순간을 명확하게 구분하기 위해 액세스 토큰을 발급하는 동시에 사용자를 앱과 Google 계정에 로그인하는 것은 더 이상 지원되지 않습니다. 이전에는 액세스 토큰을 요청하면 사용자가 Google 계정에 로그인되고 사용자 인증을 위한 JWT ID 토큰 사용자 인증 정보가 반환되었습니다.
- 사용자 보안 및 개인 정보 보호를 강화하기 위해 승인용으로 발급된 사용자별 인증 정보는 액세스 토큰과 이를 관리하는 데 필요한 정보만 포함하여 최소 권한의 원칙을 따릅니다.