Google 로그인 자바스크립트 클라이언트 참조

이 참조에서는 웹 애플리케이션에서 Google 로그인을 구현하는 데 사용할 JavaScript 클라이언트 메서드와 속성을 설명합니다.

라이브러리 사용 중에 문제가 발생하면 GitHub 저장소에 신고하세요. .

인증 설정

Google API 플랫폼 라이브러리를 로드하여 gapi 객체를 만듭니다.

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>

플랫폼 라이브러리가 로드된 후 auth2 라이브러리를 로드합니다.

function init() {
  gapi.load('auth2', function() {
    /* Ready. Make a call to gapi.auth2.init or some other API */
  });
}

gapi.auth2.init(params)

GoogleAuth 객체를 초기화합니다. gapi.auth2.GoogleAuth의 메서드를 호출하기 전에 이 메서드를 호출해야 합니다.

GoogleAuth 객체를 초기화할 때 OAuth 2.0 클라이언트 ID와 지정할 추가 옵션으로 객체를 구성합니다. 그런 다음 사용자가 이미 로그인한 경우 GoogleAuth 객체가 이전 세션에서 사용자의 로그인 상태를 복원합니다.

인수
params 클라이언트 구성 데이터의 키-값 쌍이 포함된 객체입니다. 구성 가능한 여러 속성은 gapi.auth2.ClientConfig를 참고하세요. 예를 들면 다음과 같습니다.
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
반환 값
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth 객체입니다. then() 메서드를 사용하여 gapi.auth2.GoogleAuth 객체의 초기화가 완료될 때 확인되는 Promise를 가져옵니다.

GoogleAuth.then(onInit, onError)

GoogleAuth 객체가 완전히 초기화되면 onInit 함수를 호출합니다. 초기화 중에 오류가 발생하면 (지원되지 않는 이전 브라우저에서 발생할 수 있음) onError 함수가 대신 호출됩니다.

인수
onInit GoogleAuth 객체가 완전히 초기화될 때 GoogleAuth 객체로 호출되는 함수입니다.
onError GoogleAuth 초기화에 실패한 경우 error 속성이 포함된 객체로 호출되는 함수입니다.
반환 값
Promise onInit 함수가 완료되면 처리되거나 초기화 오류가 발생하면 거부되는 Promise입니다. onInit 함수에서 반환된 값(있는 경우)으로 확인됩니다.

오류 코드

idpiframe_initialization_failed
예를 들어 지원되지 않는 환경으로 인해 Google에서 필요한 iframe을 초기화하지 못했습니다. details 속성은 발생한 오류에 관한 자세한 정보를 제공합니다.

gapi.auth2.ClientConfig

gapi.auth2.init 메서드의 다양한 구성 매개변수를 나타내는 인터페이스입니다.

매개변수
client_id string 필수사항. Google API 콘솔에서 찾고 만든 앱의 클라이언트 ID입니다.
cookie_policy string 로그인 쿠키를 만들 도메인입니다. URI, single_host_origin 또는 none입니다. 지정하지 않으면 기본값은 single_host_origin입니다.
scope string 요청할 범위(공백으로 구분된 문자열)입니다. fetch_basic_profile가 false로 설정되지 않은 경우 선택사항입니다.
fetch_basic_profile boolean 사용자가 로그인할 때 사용자의 기본 프로필 정보를 가져옵니다. 요청된 범위에 'profile', 'email', 'openid'를 추가합니다. 지정되지 않은 경우 true입니다.
hosted_domain string 사용자가 로그인하려면 속해 있어야 하는 G Suite 도메인입니다. 이 속성은 클라이언트의 수정 대상이 될 수 있으므로 반환된 사용자의 호스팅된 도메인 속성을 확인하세요. 클라이언트에서 GoogleUser.getHostedDomain()을 사용하고 서버의 ID 토큰에 있는 hd 클레임을 사용하여 도메인이 예상한 도메인인지 확인합니다.
use_fedcm boolean 선택사항으로, 기본값은 True입니다. 로그인 중에 브라우저 FedCM API 사용을 사용 설정하거나 중지합니다.
ux_mode string 로그인 흐름에 사용할 UX 모드입니다. 기본적으로 팝업에서 동의 절차가 열립니다. 유효한 값은 popup, redirect입니다.
redirect_uri string ux_mode='redirect'를 사용하는 경우 이 매개변수를 사용하여 동의 절차가 끝날 때 사용될 기본 redirect_uri를 재정의할 수 있습니다. 기본 redirect_uri는 쿼리 매개변수와 해시 프래그먼트가 제거된 현재 URL입니다.
enable_granular_consent boolean 선택사항입니다. 세분화된 권한을 사용 설정할지 여부입니다. false로 설정하면 2019년 이전에 생성된 OAuth 클라이언트 ID에 대해 더 세분화된 Google 계정 권한이 사용 중지됩니다. 2019년 이후에 생성된 OAuth 클라이언트 ID에는 영향을 미치지 않습니다. 이러한 클라이언트에는 항상 더 세분화된 권한이 사용 설정되어 있기 때문입니다.
plugin_name string 선택사항입니다. 이 값이 설정되면 2022년 7월 29일 전에 생성된 새 클라이언트 ID에서 이전 Google Platform 라이브러리를 사용할 수 있습니다. 이제 기본적으로 새로 생성된 클라이언트 ID는 플랫폼 라이브러리를 사용할 수 없으며 대신 최신 Google ID 서비스 라이브러리를 사용해야 합니다. 어떤 값이든 선택할 수 있지만 식별을 위해 제품 또는 플러그인 이름과 같은 설명적인 이름을 사용하는 것이 좋습니다. 예: plugin_name: 'YOUR_STRING_HERE'

인증

GoogleAuth는 사용자가 Google 계정으로 로그인하고, 사용자의 현재 로그인 상태를 가져오고, 사용자의 Google 프로필에서 특정 데이터를 가져오고, 추가 범위를 요청하고, 현재 계정에서 로그아웃할 수 있는 메서드를 제공하는 싱글톤 클래스입니다.

gapi.auth2.getAuthInstance()

GoogleAuth 객체를 반환합니다. 이 메서드를 호출하기 전에 gapi.auth2.init()GoogleAuth 객체를 초기화해야 합니다.

반환 값
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth 객체입니다. 이 객체를 사용하여 gapi.auth2.GoogleAuth의 메서드를 호출합니다.

GoogleAuth.isSignedIn.get()

현재 사용자가 로그인되어 있는지 여부를 반환합니다.

반환 값
불리언 사용자가 로그인한 경우 true, 사용자가 로그아웃했거나 GoogleAuth 객체가 초기화되지 않은 경우 false입니다.

GoogleAuth.isSignedIn.listen(listener)

현재 사용자의 로그인 상태 변경을 리슨합니다.

인수
listener 불리언 값을 사용하는 함수입니다. listen()는 사용자가 로그인하면 이 함수에 true을 전달하고 사용자가 로그아웃하면 false을 전달합니다.

GoogleAuth.signIn()

gapi.auth2.init()에 지정된 옵션으로 사용자를 로그인합니다.

반환 값
Promise 사용자가 요청된 범위를 성공적으로 인증하고 부여하면 GoogleUser 인스턴스로 처리되는 Promise 또는 오류가 발생하면 error 속성을 포함하는 객체로 거부되는 Promise입니다. 오류 코드는 다음 섹션을 참고하세요.

오류 코드

GoogleAuth.signIn(options)을 참고하세요.

GoogleAuth.signIn(options)

지정된 옵션을 사용하여 사용자를 로그인합니다.

인수
options 둘 중 하나의 경우입니다.
  • 로그인 매개변수의 키-값 쌍을 포함하는 gapi.auth2.SignInOptions 객체입니다. 예를 들면 다음과 같습니다.
    {
      scope: 'profile email'
    }
  • gapi.auth2.SigninOptionsBuilder의 인스턴스. 예를 들면 다음과 같습니다.
    options = new gapi.auth2.SigninOptionsBuilder();
    options.setAppPackageName('com.example.app');
    options.setFetchBasicProfile(True);
    options.setPrompt('select_account');
    options.setScope('profile').setScope('email');
반환 값
Promise 사용자가 요청된 범위를 성공적으로 인증하고 부여하면 GoogleUser 인스턴스로 처리되며, 오류가 발생하면 error 속성이 포함된 객체로 거부됩니다 (오류 코드는 아래 참고).Promise

오류 코드

popup_closed_by_user
사용자가 로그인 흐름을 완료하기 전에 팝업을 닫았습니다.
access_denied
사용자가 필요한 범위에 대한 권한을 거부했습니다.
immediate_failed
동의 절차를 안내하지 않고는 자동으로 선택되는 사용자가 없었습니다. prompt: 'none' 옵션과 함께 signIn를 사용할 때 발생하는 오류 이전 세션에서 로그인한 적이 있는 경우 gapi.auth2.init가 사용자를 자동으로 로그인하므로 이 옵션을 사용하지 않아도 됩니다.

gapi.auth2.SignInOptions

GoogleAuth.signIn(options) 메서드의 다양한 구성 매개변수를 나타내는 인터페이스입니다.

매개변수
prompt string 동의 흐름에 특정 모드를 강제합니다. 선택사항입니다.
가능한 값은 다음과 같습니다.
  • consent
    승인 서버는 애플리케이션에 정보를 반환하기 전에 사용자에게 동의 메시지를 표시합니다.
  • select_account
    승인 서버에서 사용자에게 Google 계정을 선택하라는 메시지를 표시합니다. 이렇게 하면 여러 계정을 보유한 사용자가 현재 세션이 있는 여러 계정 중에서 선택할 수 있습니다.
  • none (권장하지 않음)
    승인 서버에 인증 또는 사용자 동의 화면이 표시되지 않습니다. 사용자가 아직 인증되지 않았거나 이전에 요청된 범위에 동의하지 않은 경우 오류가 반환됩니다.
    gapi.auth2.init는 이전에 로그인한 경우 사용자를 애플리케이션에 자동으로 로그인하므로 일반적으로 signIn({prompt: 'none'})를 호출하면 실패합니다.
scope string gapi.auth2.init 매개변수에 정의된 범위에 추가하여 공백으로 구분된 문자열로 요청할 범위입니다. fetch_basic_profile가 false로 설정되지 않은 경우 선택사항입니다.
ux_mode string 로그인 흐름에 사용할 UX 모드입니다. 기본적으로 팝업에서 동의 절차가 열립니다. 유효한 값은 popup, redirect입니다.
redirect_uri string ux_mode='redirect'를 사용하는 경우 이 매개변수를 사용하여 동의 흐름이 끝날 때 사용될 기본 redirect_uri를 재정의할 수 있습니다. 기본 redirect_uri는 쿼리 매개변수와 해시 프래그먼트가 제거된 현재 URL입니다.

GoogleAuth.signOut()

애플리케이션에서 현재 계정을 로그아웃합니다.

반환 값
Promise 사용자가 로그아웃되었을 때 실행되는 Promise입니다.

GoogleAuth.disconnect()

사용자가 부여한 모든 범위를 취소합니다.

GoogleAuth.grantOfflineAccess(options)

사용자에게 지정된 범위에 오프라인으로 액세스할 권한을 받습니다.

인수
options 매개변수의 키-값 쌍을 포함하는 gapi.auth2.OfflineAccessOptions 객체입니다. 예를 들면 다음과 같습니다.
{
  scope: 'profile email'
}
반환 값
Promise 사용자가 요청된 범위를 부여할 때 처리되는 Promise로, 승인 코드가 포함된 객체를 Promise의 처리 핸들러에 전달합니다. 예:
auth2.grantOfflineAccess().then(function(resp) {
  var auth_code = resp.code;
});

오류 코드

popup_closed_by_user
동의 절차를 완료하기 전에 사용자가 팝업을 닫았습니다.
access_denied
사용자가 필요한 범위에 대한 권한을 거부했습니다.
immediate_failed
동의 절차를 안내하지 않고는 자동으로 선택되는 사용자가 없었습니다. prompt: 'none' 옵션과 함께 signIn를 사용할 때 발생하는 오류 이 옵션은 사용해야 할 필요가 없습니다. 이전 세션에서 로그인한 적이 있으면 gapi.auth2.init가 자동으로 사용자를 로그인하기 때문입니다.

gapi.auth2.OfflineAccessOptions

GoogleAuth.grantOfflineAccess(options) 메서드의 다양한 구성 매개변수를 나타내는 인터페이스입니다.

매개변수
prompt string 동의 흐름에 특정 모드를 강제합니다. 선택사항입니다.
가능한 값은 다음과 같습니다.
  • consent
    승인 서버는 애플리케이션에 정보를 반환하기 전에 사용자에게 동의 메시지를 표시합니다.
  • select_account
    승인 서버에서 사용자에게 Google 계정을 선택하라는 메시지를 표시합니다. 이렇게 하면 여러 계정을 보유한 사용자가 현재 세션이 있는 여러 계정 중에서 선택할 수 있습니다.
scope string gapi.auth2.init 매개변수에 정의된 범위에 추가하여 공백으로 구분된 문자열로 요청할 범위입니다. fetch_basic_profile가 false로 설정되지 않은 경우 선택사항입니다.

GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)

지정된 컨테이너의 클릭 핸들러에 로그인 흐름을 연결합니다.

인수
container 클릭 핸들러를 연결할 div 요소의 ID 또는 참조입니다.
options 매개변수의 키-값 쌍을 포함하는 객체입니다. GoogleAuth.signIn()을 참고하세요.
onsuccess 로그인이 완료된 후 호출할 함수입니다.
onfailure 로그인에 실패하면 호출할 함수입니다.

사용자

GoogleUser 객체는 하나의 사용자 계정을 나타냅니다. GoogleUser 객체는 일반적으로 GoogleAuth.currentUser.get()을 호출하여 가져옵니다.

GoogleAuth.currentUser.get()

현재 사용자를 나타내는 GoogleUser 객체를 반환합니다. 새로 초기화된 GoogleAuth 인스턴스에서는 현재 사용자가 설정되지 않았습니다. currentUser.listen() 메서드 또는 GoogleAuth.then()를 사용하여 초기화된 GoogleAuth 인스턴스를 가져옵니다.

반환 값
GoogleUser 현재 사용자

GoogleAuth.currentUser.listen(listener)

currentUser의 변경사항을 수신 대기합니다.

인수
listener GoogleUser 매개변수를 사용하는 함수입니다. listencurrentUser를 수정하는 모든 변경사항에서 이 함수에 GoogleUser 인스턴스를 전달합니다.

GoogleUser.getId()

사용자의 고유 ID 문자열을 가져옵니다.

반환 값
문자열 사용자의 고유 ID

GoogleUser.isSignedIn()

사용자가 로그인되어 있으면 true를 반환합니다.

반환 값
불리언 사용자가 로그인한 경우 true

GoogleUser.getHostedDomain()

사용자가 G Suite 계정으로 로그인한 경우 사용자의 G Suite 도메인을 가져옵니다.

반환 값
문자열 사용자의 G Suite 도메인

GoogleUser.getGrantedScopes()

사용자가 부여한 범위를 공백으로 구분된 문자열로 가져옵니다.

반환 값
문자열 사용자가 부여한 범위

GoogleUser.getBasicProfile()

사용자의 기본 프로필 정보를 가져옵니다.

반환 값
gapi.auth2.BasicProfile 다음 메서드를 사용하여 gapi.auth2.BasicProfile의 속성을 검색할 수 있습니다.
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getGivenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(includeAuthorizationData)

사용자의 인증 세션에서 응답 객체를 가져옵니다.

인수
includeAuthorizationData 선택사항: 항상 액세스 토큰과 범위를 반환할지 지정하는 불리언입니다. 기본적으로 fetch_basic_profile가 true (기본값)이고 추가 스코프가 요청되지 않으면 액세스 토큰과 요청된 스코프가 반환되지 않습니다.
반환 값
gapi.auth2.AuthResponse gapi.auth2.AuthResponse 객체

GoogleUser.reloadAuthResponse()

액세스 토큰을 강제로 새로고침한 다음 새 AuthResponse의 Promise를 반환합니다.

반환 값
Promise OAuth 토큰 재로드가 완료될 때 새로고침된 gapi.auth2.AuthResponse로 충족되는 Promise입니다.

gapi.auth2.AuthResponse

GoogleUser.getAuthResponse(includeAuthorizationData) 또는 GoogleUser.reloadAuthResponse() 메서드를 호출할 때 반환되는 응답입니다.

속성
access_token string 액세스 토큰이 부여되었습니다.
id_token string 부여된 ID 토큰입니다.
scope string 액세스 토큰에 부여된 범위입니다.
expires_in number 액세스 토큰이 만료될 때까지의 시간(초)입니다.
first_issued_at number 사용자가 요청된 범위를 처음 부여한 타임스탬프입니다.
expires_at number 액세스 토큰이 만료되는 타임스탬프입니다.

GoogleUser.hasGrantedScopes(scopes)

사용자가 지정된 범위를 부여한 경우 true를 반환합니다.

인수
scopes 공백으로 구분된 범위 문자열입니다.
반환 값
불리언 범위가 부여된 경우 true입니다.

GoogleUser.grant(options)

사용자에게 추가 범위를 요청합니다.

매개변수 목록과 오류 코드는 GoogleAuth.signIn()를 참고하세요.

GoogleUser.grantOfflineAccess(options)

사용자에게 지정된 범위에 오프라인으로 액세스할 권한을 받습니다.

인수
options 매개변수의 키-값 쌍을 포함하는 gapi.auth2.OfflineAccessOptions 객체입니다. 예를 들면 다음과 같습니다.
{
  scope: 'profile email'
}

GoogleUser.disconnect()

사용자가 애플리케이션에 부여한 모든 범위를 취소합니다.

UI 요소

gapi.signin2.render(id, options)

options 객체에 지정된 설정을 사용하여 지정된 ID의 요소에 로그인 버튼을 렌더링합니다.

인수
id 로그인 버튼을 렌더링할 요소의 ID입니다.
options 버튼을 렌더링하는 데 사용할 설정이 포함된 객체입니다. 예를 들면 다음과 같습니다.
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
다음 옵션을 지정할 수 있습니다.
매개변수
범위 사용자가 로그인할 때 요청할 스코프입니다 (기본값: profile).
너비 버튼의 너비 (픽셀, 기본값: 120)입니다.
높이 버튼의 높이입니다 (기본값: 36).
longtitle '로그인' (기본값: false) 대신 'Google 계정으로 로그인'과 같은 긴 라벨을 표시합니다. 긴 제목을 사용하는 경우 버튼 너비를 기본값에서 늘려야 합니다.
테마 버튼의 색상 테마입니다. light 또는 dark (기본값: light)입니다.
onsuccess 사용자가 로그인할 때 호출할 콜백 함수입니다. 이 함수는 하나의 인수 (gapi.auth2.GoogleUser의 인스턴스, 기본값: 없음)를 취해야 합니다.
onfailure 로그인에 실패할 때 호출할 콜백 함수입니다. 이 함수에는 인수가 없습니다 (기본값: 없음).

고급

gapi.auth2.authorize(params, callback)

일회성 OAuth 2.0 승인을 실행합니다. 사용되는 매개변수에 따라 Google 로그인 흐름 팝업이 열리거나 사용자 상호작용 없이 요청된 응답을 자동으로 로드하려고 시도합니다.

이 메서드가 유용한 사용 사례는 다음과 같습니다.

  • 애플리케이션은 Google API 엔드포인트를 한 번만 요청하면 됩니다. 예를 들어 사용자가 처음 로그인할 때 사용자의 즐겨찾는 YouTube 동영상을 로드하는 경우입니다.
  • 애플리케이션에는 자체 세션 관리 인프라가 있으며 백엔드에서 사용자를 식별하는 데 ID 토큰이 한 번만 필요합니다.
  • 동일한 페이지 내에 여러 클라이언트 ID가 사용됩니다.
인수
params 구성 데이터의 키-값 쌍이 포함된 객체입니다. 구성 가능한 여러 속성은 gapi.auth2.AuthorizeConfig를 참고하세요. 예를 들면 다음과 같습니다.
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}
callback 요청이 완료된 후 (성공 또는 실패) gapi.auth2.AuthorizeResponse 객체로 호출되는 함수입니다.

gapi.auth2.authorize({
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}, function(response) {
  if (response.error) {
    // An error happened!
    return;
  }
  // The user authorized the application for the scopes requested.
  var accessToken = response.access_token;
  var idToken = response.id_token;
  // You can also now use gapi.client to perform authenticated requests.
});

오류 코드

idpiframe_initialization_failed
예를 들어 지원되지 않는 환경으로 인해 Google에서 필요한 iframe을 초기화하지 못했습니다. details 속성은 발생한 오류에 관한 자세한 정보를 제공합니다.
popup_closed_by_user
사용자가 로그인 절차를 완료하기 전에 팝업을 닫았습니다.
access_denied
사용자가 필요한 범위에 대한 권한을 거부했습니다.
immediate_failed
동의 절차를 안내하지 않고는 자동으로 사용자를 선택할 수 없습니다. prompt: 'none' 옵션과 함께 signIn를 사용할 때 발생하는 오류

gapi.auth2.AuthorizeConfig

gapi.auth2.authorize 메서드의 다양한 구성 매개변수를 나타내는 인터페이스입니다.

속성
client_id string 필수사항: Google API 콘솔에서 찾고 만든 앱의 클라이언트 ID입니다.
scope string 필수사항: 공백으로 구분된 문자열로 요청할 범위입니다.
response_type string 공백으로 구분된 응답 유형 목록입니다. 기본값은 'permission'입니다. 가능한 값은 다음과 같습니다.
  • id_token: ID 토큰 검색
  • permission (또는 token): 액세스 토큰을 가져옵니다.
  • code: 승인 코드 검색
prompt string 동의 흐름에 특정 모드를 강제합니다. 가능한 값은 다음과 같습니다.
  • consent
    승인 서버는 애플리케이션에 정보를 반환하기 전에 사용자에게 동의 메시지를 표시합니다.
  • select_account
    승인 서버에서 사용자에게 Google 계정을 선택하라는 메시지를 표시합니다. 이렇게 하면 여러 계정을 보유한 사용자가 현재 세션이 있는 여러 계정 중에서 선택할 수 있습니다.
  • none
    승인 서버는 인증 또는 사용자 동의 화면을 표시하지 않습니다. 사용자가 아직 인증되지 않았거나 이전에 요청된 범위에 동의하지 않은 경우 오류를 반환합니다.
    code이 응답 유형으로 요청되면 반환된 코드는 refresh_token이 아닌 access_token로만 교환할 수 있습니다.
cookie_policy string 로그인 쿠키를 만들 도메인입니다. URI, single_host_origin 또는 none입니다. 지정하지 않으면 기본값은 single_host_origin입니다.
hosted_domain string 사용자가 로그인하려면 속해 있어야 하는 G Suite 도메인입니다. 이 속성은 클라이언트의 수정 대상이 될 수 있으므로 반환된 사용자의 호스팅된 도메인 속성을 확인하세요.
login_hint string 로그인 과정에서 미리 선택할 사용자의 이메일 또는 사용자 ID입니다. prompt: "none"을 사용하지 않는 한 이는 사용자의 수정 대상이 될 수 있습니다.
include_granted_scopes boolean 이전에 사용자가 앱에 부여한 모든 범위가 포함된 액세스 토큰을 요청할지 아니면 현재 호출에서 요청된 범위만 요청할지 여부입니다. 기본값은 true입니다.
enable_granular_consent boolean 선택사항입니다. 세분화된 권한을 사용 설정할지 여부입니다. false로 설정하면 2019년 이전에 생성된 OAuth 클라이언트 ID에 더 세분화된 Google 계정 권한이 사용 중지됩니다. 2019년 이후에 생성된 OAuth 클라이언트 ID에는 영향을 미치지 않습니다. 이러한 클라이언트에는 항상 더 세분화된 권한이 사용 설정되어 있기 때문입니다.
plugin_name string 선택사항입니다. 이 옵션을 설정하면 2022년 7월 29일 전에 생성된 클라이언트 ID에서 Google Platform 라이브러리를 사용할 수 있습니다. 기본적으로 새로 생성된 클라이언트 ID는 플랫폼 라이브러리를 사용할 수 없으며 대신 최신 Google ID 서비스 라이브러리를 사용해야 합니다. 어떤 값이든 선택할 수 있지만 제품 또는 플러그인 이름과 같이 설명적인 이름을 선택하면 쉽게 식별할 수 있습니다. 예: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

gapi.auth2.authorize 메서드의 콜백에 반환된 응답입니다.

속성
access_token string 액세스 토큰이 부여되었습니다. response_typepermission 또는 token가 지정된 경우에만 존재합니다.
id_token string 부여된 ID 토큰입니다. response_typeid_token가 지정된 경우에만 존재합니다.
code string 승인 코드가 부여되었습니다. response_typecode가 지정된 경우에만 존재합니다.
scope string 액세스 토큰에 부여된 범위입니다. response_typepermission 또는 token가 지정된 경우에만 존재합니다.
expires_in number 액세스 토큰이 만료될 때까지의 시간(초)입니다. response_typepermission 또는 token가 지정된 경우에만 존재합니다.
first_issued_at number 사용자가 요청된 범위를 처음 부여한 타임스탬프입니다. response_typepermission 또는 token가 지정된 경우에만 존재합니다.
expires_at number 액세스 토큰이 만료되는 타임스탬프입니다. response_typepermission 또는 token가 지정된 경우에만 존재합니다.
error string 요청이 실패하면 오류 코드가 포함됩니다.
error_subtype string 요청이 실패한 경우 반환된 오류 코드에 대한 추가 정보가 포함될 수 있습니다.