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