이 가이드는 이전 Google 로그인 플랫폼 라이브러리에서 최신 Google ID 서비스 라이브러리로 JavaScript 라이브러리를 성공적으로 이전하기 위한 필요한 변경사항과 단계를 이해하는 데 도움이 됩니다.
클라이언트가 승인에 JavaScript용 Google API 클라이언트 라이브러리 또는 이전 라이브러리를 사용하는 경우 자세한 내용은 Google ID 서비스로 이전을 참고하세요.
인증 및 승인
인증은 사용자의 신원을 확인하는 것으로 일반적으로 사용자 가입 또는 로그인이라고 합니다. 승인은 데이터 또는 리소스에 대한 액세스 권한을 부여하거나 거부하는 프로세스입니다. 예를 들어 앱에서 사용자의 Google Drive에 액세스하기 위해 사용자의 동의를 요청합니다.
이전 Google 로그인 플랫폼 라이브러리와 마찬가지로 새 Google ID 서비스 라이브러리는 인증 및 승인 프로세스를 모두 지원하도록 빌드되었습니다.
하지만 최신 라이브러리는 두 프로세스를 분리하여 개발자가 Google 계정을 앱과 통합하는 복잡성을 줄입니다.
사용 사례가 인증에만 관련된 경우 이 페이지를 계속 읽어 보세요.
사용 사례에 승인이 포함된 경우 사용자 승인 작동 방식 및 Google ID 서비스로 이전을 읽고 애플리케이션에서 새롭게 개선된 API를 사용하는지 확인하세요.
변경된 내용
새로운 Google ID 서비스 라이브러리는 사용자에게 다양한 사용성 개선사항을 제공합니다. 주요 내용은 다음과 같습니다.
- 간편한 원탭 및 자동 로그인 흐름: 개별 단계가 줄어듭니다.
- 사용자 맞춤설정이 적용된 업데이트된 로그인 버튼
- 웹 전반에서 일관된 브랜딩과 균일한 로그인 동작으로 이해도와 신뢰도 향상
- 콘텐츠에 빠르게 액세스할 수 있습니다. 사용자는 먼저 로그인 또는 계정 페이지를 방문하지 않고도 사이트의 어느 위치에서나 직접 가입하고 로그인할 수 있습니다.
Google은 개발자를 위해 복잡성을 줄이고 보안을 개선하며 통합을 최대한 빠르게 처리하는 데 중점을 두었습니다. 다음과 같은 개선사항이 포함됩니다.
- HTML만 사용하여 사이트의 정적 콘텐츠에 사용자 로그인을 추가하는 옵션은
- 로그인 인증을 승인 및 사용자 데이터 공유와 분리하여 사용자를 사이트에 로그인하는 데 더 이상 복잡한 OAuth 2.0 통합이 필요하지 않습니다.
- 팝업 및 리디렉션 모드가 모두 계속 지원되지만 이제 Google의 OAuth 2.0 인프라는 백엔드 서버의 로그인 엔드포인트로 리디렉션됩니다.
- 이전 Google ID 및 Google API JavaScript 라이브러리의 기능을 단일 새 라이브러리로 통합
- 로그인 응답의 경우 이제 Promise를 사용할지 여부를 결정할 수 있으며 간편성을 위해 getter 스타일 함수를 통한 간접 참조가 삭제되었습니다.
로그인 이전의 예
기존의 Google 로그인 버튼에서 이전하고 있으며 사용자를 사이트에 로그인하는 데만 관심이 있는 경우, 가장 간단한 변경은 맞춤설정된 새로운 버튼으로 업데이트하는 것입니다. 이를 위해서는 JavaScript 라이브러리를 전환하고 새 로그인 객체를 사용하도록 코드베이스를 업데이트하면 됩니다.
라이브러리 및 구성
이전 Google 로그인 플랫폼 라이브러리 apis.google.com/js/platform.js
및 JavaScript용 Google API 클라이언트 라이브러리 gapi.client
는 더 이상 사용자 인증 및 승인에 필요하지 않습니다. 이러한 API는 새로운 단일 Google ID 서비스 JavaScript 라이브러리 accounts.google.com/gsi/client
로 대체되었습니다.
로그인에 사용되는 앞의 세 가지 JavaScript 모듈인 api
, client
, platform
는 모두 apis.google.com
에서 로드됩니다. 이전 라이브러리가 사이트에 포함될 수 있는 위치를 식별하는 데 도움이 되는 일반적인 방법은 다음과 같습니다.
- 기본 로그인 버튼이
apis.google.com/js/platform.js
를 로드합니다. - 맞춤 버튼 그래픽이
apis.google.com/js/api:client.js
를 로드합니다. gapi.client
를 직접 사용하면apis.google.com/js/api.js
가 로드됩니다.
대부분의 경우 기존 웹 애플리케이션 클라이언트 ID 사용자 인증 정보를 계속 사용할 수 있습니다. 이전의 일환으로 OAuth 2.0 정책을 검토하고 Google API Console을 사용하여 다음 클라이언트 설정을 확인하고 필요한 경우 업데이트하는 것이 좋습니다.
- 테스트 앱과 프로덕션 앱은 별도의 프로젝트를 사용하고 자체 클라이언트 ID와
- OAuth 2.0 클라이언트 ID 유형이 '웹 애플리케이션'이고
- HTTPS는 승인된 JavaScript 출처 및 리디렉션 URI에 사용됩니다.
영향을 받는 코드 및 테스트 식별
디버그 쿠키를 사용하면 영향을 받는 코드를 찾고 지원 중단 후 동작을 테스트하는 데 도움이 됩니다.
크거나 복잡한 앱에서는 gapi.auth2
모듈 지원 중단의 영향을 받는 모든 코드를 찾기 어려울 수 있습니다. 지원 중단 예정인 기능의 기존 사용을 콘솔에 기록하려면 G_AUTH2_MIGRATION
쿠키의 값을 informational
로 설정합니다. 원하는 경우 콜론 뒤에 키 값을 추가하여 세션 저장소에도 로깅합니다. 로그인하고 사용자 인증 정보를 수신한 후 나중에 분석할 수 있도록 수집된 로그를 백엔드로 전송하거나 검토합니다. 예를 들어 informational:showauth2use
는 출처와 URL을 showauth2use
라는 세션 저장소 키에 저장합니다.
gapi.auth2
모듈이 더 이상 로드되지 않을 때 앱 동작을 확인하려면 G_AUTH2_MIGRATION
쿠키의 값을 enforced
로 설정합니다. 이를 통해 시행일 전에 지원 중단 후 동작을 테스트할 수 있습니다.
가능한 G_AUTH2_MIGRATION
쿠키 값은 다음과 같습니다.
enforced
gapi.auth2
모듈을 로드하지 않습니다.informational
지원 중단된 기능의 사용을 JS 콘솔에 로깅합니다. 선택적 키 이름이 설정된 경우(informational:key-name
) 세션 저장소에도 로깅합니다.
사용자에게 미치는 영향을 최소화하려면 프로덕션 환경에서 사용하기 전에 개발 및 테스트 중에 먼저 이 쿠키를 로컬에서 설정하는 것이 좋습니다.
HTML 및 자바스크립트
이 인증 전용 로그인 시나리오에서는 기존 Google 로그인 버튼의 코드 예시와 렌더링이 표시됩니다. 인증 응답이 JavaScript 콜백 또는 백엔드 서버 로그인 엔드포인트로 보안 리디렉션에 의해 처리되는 방식의 차이점을 확인하려면 팝업 또는 리디렉션 모드 중에서 선택하세요.
이전 방법
팝업 모드
Google 로그인 버튼을 렌더링하고 콜백을 사용하여 사용자의 브라우저에서 직접 로그인을 처리합니다.
<html>
<body>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
<div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
</body>
</html>
리디렉션 모드
Google 로그인 버튼을 렌더링하고 사용자의 브라우저에서 백엔드 서버 로그인 엔드포인트로의 AJAX 호출로 마무리합니다.
<html>
<body>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
<div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
<script>
function handleCredentialResponse(googleUser) {
...
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://yourbackend.example.com/tokensignin');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
console.log('Signed in as: ' + xhr.responseText);
};
xhr.send('idtoken=' + id_token);
}
</script>
</body>
</html>
렌더링됨
새로운 시각적 속성을 사용하면 이전의 맞춤 버튼을 만드는 방법이 간소화되고 gapi.signin2.render()
가 호출되지 않으며 사이트에서 이미지와 시각적 애셋을 호스팅하고 유지할 필요가 없습니다.
사용자 로그인 상태 업데이트 버튼 텍스트입니다.
새로운 방식
인증 전용 로그인 시나리오에서 새 라이브러리를 사용하려면 팝업 또는 리디렉션 모드 중에서 선택하고 코드 샘플을 사용하여 로그인 페이지의 기존 구현을 대체합니다.
팝업 모드
콜백을 사용하여 사용자의 브라우저에서 직접 로그인을 처리합니다.
<html>
<body>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="YOUR_CLIENT_ID"
data-callback="handleCredentialResponse">
</div>
<div class="g_id_signin" data-type="standard"></div>
</body>
</html>
리디렉션 모드
Google은 data-login_url 속성에 지정된 대로 로그인 엔드포인트를 호출합니다. 이전에는 POST 작업과 매개변수 이름을 개발자가 담당했습니다. 새 라이브러리는 credential
매개변수의 엔드포인트에 ID 토큰을 게시합니다. 마지막으로 백엔드 서버에서 ID 토큰을 확인합니다.
<html>
<body>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="YOUR_CLIENT_ID"
data-ux_mode="redirect"
data-login_uri="https://www.example.com/your_login_endpoint">
</div>
<div class="g_id_signin" data-type="standard"></div>
</body>
</html>
렌더링됨
visual-attributes를 사용하여 Google 계정으로 로그인 버튼 크기, 모양, 색상을 맞춤설정합니다. 맞춤 버튼과 함께 원탭 팝업을 표시하여 로그인율을 개선합니다.
사용자 로그인 상태가 '로그인'에서 '로그인됨'으로 버튼 텍스트를 업데이트하지 않습니다. 동의한 후 또는 재방문 시 맞춤설정된 버튼에는 사용자의 이름, 이메일, 프로필 사진이 포함됩니다.
이 인증 전용 예시에서 새 accounts.google.com/gsi/client
라이브러리, g_id_signin
클래스, g_id_onload
객체가 이전 apis.google.com/js/platform.js
라이브러리 및 g-signin2
객체를 대체합니다.
이 예시 코드는 새 맞춤 버튼을 렌더링하는 것 외에도 새 원탭 팝업을 표시합니다. 맞춤설정된 버튼을 표시할 때마다 원탭 팝업도 표시하여 가입 및 로그인 시 사용자의 불편을 최소화하는 것이 좋습니다.
로그인 과정에서 발생하는 불편함이 증가하므로 권장하지는 않지만, 원탭 대화상자를 동시에 표시하지 않고 새 맞춤 버튼만 표시할 수 있습니다. 이렇게 하려면 data-auto_prompt
속성을 false
로 설정합니다.
HTML 및 JavaScript API
이전 예에서는 새 HTML API를 사용하여 웹사이트에 로그인을 추가하는 방법을 보여줍니다. 또는 기능적으로 동일한 JavaScript API를 사용하거나 사이트 전체에서 HTML과 JavaScript API를 혼합하여 사용할 수 있습니다.
콜백 유형 및 속성(예: 색상, 크기, 모양, 텍스트, 테마)과 같은 버튼 맞춤설정 옵션을 대화형으로 보려면 코드 생성기를 확인하세요. 이 도구를 사용하면 다양한 옵션을 빠르게 비교하고 사이트에 사용할 HTML 스니펫을 생성할 수 있습니다.
원탭으로 모든 페이지에서 로그인
원탭은 사용자가 사이트에 가입하거나 로그인할 수 있는 새로운 간편한 방법입니다. 이를 통해 사용자가 사이트의 모든 페이지에서 직접 로그인할 수 있으므로 사용자가 전용 로그인 페이지를 방문할 필요가 없습니다. 즉, 사용자에게 로그인 페이지 이외의 페이지에서 가입하고 로그인할 수 있는 유연성을 제공하여 가입 및 로그인 문제를 줄입니다.
모든 페이지에서 로그인을 사용 설정하려면 전체 사이트에 포함된 공유 헤더, 바닥글 또는 기타 객체에 g_id_onload
를 포함하는 것이 좋습니다.
또한 맞춤 로그인 버튼을 표시하는 g_id_signin
는 로그인 또는 사용자 계정 관리 페이지에만 추가하는 것이 좋습니다. 다른 제휴 ID 공급업체 버튼 및 사용자 이름 및 비밀번호 입력 필드와 함께 버튼을 표시하여 사용자가 가입 또는 로그인 옵션을 선택할 수 있도록 합니다.
토큰 응답
더 이상 사용자 로그인을 위해 OAuth 2.0 승인 코드, 액세스 토큰 또는 갱신 토큰을 이해하거나 사용할 필요가 없습니다. 대신 로그인 상태와 사용자 프로필을 공유하는 데 JSON 웹 토큰(JWT) ID 토큰이 사용됩니다. 더 단순화된 방식으로, 더 이상 사용자 프로필 데이터를 처리하기 위해 'getter' 스타일 액세서 메서드를 사용할 필요가 없습니다.
Google이 서명한 안전한 JWT ID 토큰 사용자 인증 정보는 다음 중 하나로 반환됩니다.
- 팝업 모드에서 사용자의 브라우저 기반 JavaScript 콜백 핸들러로 전달됩니다.
- Google 로그인 버튼
ux_mode
이redirect
로 설정된 경우 로그인 엔드포인트로의 Google 리디렉션을 통해 백엔드 서버로 전송됩니다.
두 경우 모두 다음을 삭제하여 기존 콜백 핸들러를 업데이트합니다.
googleUser.getBasicProfile()
호출BasicProfile
참조 및getId()
,getName()
,getGivenName()
,getFamilyName()
,getImageUrl()
,getEmail()
메서드의 관련 호출AuthResponse
객체 사용
대신 새 JWT CredentialResponse
객체의 credential
하위 필드에 대한 직접 참조를 사용하여 사용자 프로필 데이터를 처리합니다.
또한 리디렉션 모드의 경우에만 교차 사이트 요청 위조 (CSRF) 및 백엔드 서버에서 Google ID 토큰 확인을 방지해야 합니다.
사용자가 사이트와 상호작용하는 방식을 더 잘 이해하려면 CredentialResponse의 select_by
필드를 사용하여 사용자 동의 결과와 사용된 특정 로그인 흐름을 확인할 수 있습니다.
사용자 동의 및 권한 취소
사용자가 웹사이트에 처음 로그인하면 Google에서는 사용자에게 계정 프로필을 앱과 공유하는 데 동의하라는 메시지를 표시합니다. 동의한 후에만 ID 토큰 사용자 인증 정보 페이로드에서 사용자의 프로필이 앱에 공유됩니다. 이 프로필에 대한 액세스 권한을 취소하는 것은 이전 로그인 라이브러리의 액세스 토큰을 취소하는 것과 같습니다.
사용자는 https://myaccount.google.com/permissions에서 권한을 취소하고 Google 계정에서 앱 연결을 해제할 수 있습니다.
또는 개발자가 구현한 API 호출을 트리거하여 앱에서 직접 연결을 해제할 수도 있습니다. 이전 disconnect
메서드는 최신 revoke
메서드로 대체되었습니다.
사용자가 플랫폼에서 계정을 삭제하는 경우 revoke
를 사용하여 앱을 Google 계정에서 연결 해제하는 것이 좋습니다.
이전에는 auth2.signOut()
를 사용하여 앱에서 사용자 로그아웃을 관리할 수 있었습니다. auth2.signOut()
사용은 모두 삭제해야 하며 앱은 사용자별 세션 상태와 로그인 상태를 직접 관리해야 합니다.
세션 상태 및 리스너
새 라이브러리는 웹 앱의 로그인 상태 또는 세션 상태를 유지하지 않습니다.
Google 계정의 로그인 상태와 앱의 세션 상태 및 로그인 상태는 서로 다른 개념입니다.
Google 계정 및 앱에 대한 사용자 로그인 상태는 서로 독립적입니다. 단, 사용자가 인증에 성공하여 Google 계정에 로그인한 것으로 확인되는 로그인 순간은 예외입니다.
사이트에 Google 계정으로 로그인, 원탭 또는 자동 로그인이 포함된 경우 사용자는 먼저 Google 계정에 로그인해야 다음 작업을 할 수 있습니다.
- 사이트에 처음 가입하거나 로그인할 때 사용자 프로필 공유에 동의해야 합니다
- 나중에 사이트를 다시 방문할 때 로그인할 수 있습니다.
사용자는 웹사이트에서 로그인 상태의 활성 세션을 유지하면서 로그인 상태를 유지하거나 로그아웃하거나 다른 Google 계정으로 전환할 수 있습니다.
이제 웹 앱 사용자의 로그인 상태를 직접 관리할 책임이 있습니다. 이전에는 Google 로그인을 사용하여 사용자의 세션 상태를 모니터링했습니다.
auth2.attachClickHandler()
및 등록된 콜백 핸들러에 대한 참조를 모두 삭제합니다.
이전에는 리스너를 사용하여 사용자의 Google 계정 로그인 상태 변경사항을 공유했습니다. 리스너는 더 이상 지원되지 않습니다.
listen()
, auth2.currentUser
, auth2.isSignedIn
에 관한 참조를 삭제합니다.
쿠키
Google 계정으로 로그인은 쿠키를 제한적으로 사용합니다. 다음은 이러한 쿠키에 관한 설명입니다. Google에서 사용하는 다른 유형의 쿠키에 대한 자세한 내용은 Google에서 쿠키를 사용하는 방식을 참고하세요.
이전 Google 로그인 플랫폼 라이브러리에서 설정한 G_ENABLED_IDPS
쿠키는 더 이상 사용되지 않습니다.
새 Google ID 서비스 라이브러리는 구성 옵션에 따라 다음과 같은 교차 도메인 쿠키를 설정할 수 있습니다.
g_state
는 사용자 로그아웃 상태를 저장하며 원탭 팝업 또는 자동 로그인을 사용할 때 설정됩니다.g_csrf_token
는 CSRF 공격을 방지하는 데 사용되는 이중 제출 쿠키이며 로그인 엔드포인트가 호출될 때 설정됩니다. 로그인 URI의 값은 명시적으로 설정할 수 있으며 기본적으로 현재 페이지의 URI로 설정될 수 있습니다. 다음을 사용할 때 로그인 엔드포인트가 호출될 수 있습니다.HTML API:
data-ux_mode=redirect
또는data-login_uri
가 설정된 경우.ux_mode=redirect
가 있는 JavaScript API이며 원탭 또는 자동 로그인을 표시하는 데google.accounts.id.prompt()
가 사용되지 않습니다.
쿠키를 관리하는 서비스가 있는 경우 새 쿠키 2개를 추가하고 이전이 완료되면 기존 쿠키를 삭제해야 합니다.
여러 도메인 또는 하위 도메인을 관리하는 경우 g_state
쿠키 사용에 관한 자세한 안내는 하위 도메인에 원탭 표시를 참고하세요.
사용자 로그인을 위한 객체 이전 참조
변경 전 | 신규 | 참고 |
---|---|---|
JavaScript 라이브러리 | ||
apis.google.com/js/platform.js | accounts.google.com/gsi/client | 오래된 것을 새 것으로 교체합니다. |
apis.google.com/js/api.js | accounts.google.com/gsi/client | 오래된 것을 새 것으로 교체합니다. |
GoogleAuth 객체 및 관련 메서드: | ||
GoogleAuth.attachClickHandler() | JS 및 HTML data-callback의 경우 IdConfiguration.callback | 오래된 것을 새 것으로 교체합니다. |
GoogleAuth.currentUser.get() | CredentialResponse | 더 이상 필요하지 않으므로 대신 CredentialResponse를 사용하세요. |
GoogleAuth.currentUser.listen() | 삭제를 탭합니다. Google에서 사용자의 현재 로그인 상태를 사용할 수 없습니다. 사용자는 동의 및 로그인 순간을 위해 Google에 로그인해야 합니다. CredentialResponse의 select_by 필드는 사용된 로그인 방법과 함께 사용자 동의 결과를 확인하는 데 사용할 수 있습니다. | |
GoogleAuth.disconnect() | google.accounts.id.revoke | 오래된 것을 새 것으로 교체합니다. https://myaccount.google.com/permissions에서도 취소할 수 있습니다. |
GoogleAuth.grantOfflineAccess() | 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다. | |
GoogleAuth.isSignedIn.get() | 삭제를 탭합니다. Google에서 사용자의 현재 로그인 상태를 사용할 수 없습니다. 동의 및 로그인 순간을 사용하려면 사용자가 Google에 로그인해야 합니다. | |
GoogleAuth.isSignedIn.listen() | 삭제를 탭합니다. Google에서 사용자의 현재 로그인 상태를 사용할 수 없습니다. 사용자가 동의 및 로그인 시 Google에 로그인해야 합니다. | |
GoogleAuth.signIn() | 삭제를 탭합니다. g_id_signin 요소의 HTML DOM 로드 또는 google.accounts.id.renderButton에 대한 JS 호출은 Google 계정에 대한 사용자 로그인을 트리거합니다. | |
GoogleAuth.signOut() | 삭제를 탭합니다. 앱과 Google 계정의 사용자 로그인 상태는 독립적입니다. Google은 앱의 세션 상태를 관리하지 않습니다. | |
GoogleAuth.then() | 삭제를 탭합니다. GoogleAuth가 지원 중단되었습니다. | |
GoogleUser 객체 및 관련 메서드: | ||
GoogleUser.disconnect() | google.accounts.id.revoke | 오래된 것으로 교체합니다. https://myaccount.google.com/permissions에서도 권한을 취소할 수 있습니다. |
GoogleUser.getAuthResponse() | ||
GoogleUser.getBasicProfile() | CredentialResponse | BasicProfile 메서드 대신 credential 및 하위 필드를 직접 사용합니다. |
GoogleUser.getGrantedScopes() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
GoogleUser.getHostedDomain() | CredentialResponse | 대신 credential.hd 를 직접 사용하세요. |
GoogleUser.getId() | CredentialResponse | 대신 credential.sub 를 직접 사용하세요. |
GoogleUser.grantOfflineAccess() | 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다. | |
GoogleUser.grant() | 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다. | |
GoogleUser.hasGrantedScopes() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
GoogleUser.isSignedIn() | 삭제를 탭합니다. 사용자의 현재 Google 로그인 상태를 확인할 수 없습니다. 사용자가 동의 및 로그인 시 Google에 로그인해야 합니다. | |
GoogleUser.reloadAuthResponse() | 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다. | |
gapi.auth2 객체 및 관련 메서드: | ||
gapi.auth2.AuthorizeConfig 객체 | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.AuthorizeResponse 객체 | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.AuthResponse 객체 | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.authorize() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.ClientConfig() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.getAuthInstance() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.init() | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.auth2.OfflineAccessOptions 객체 | 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다. | |
gapi.auth2.SignInOptions 객체 | 삭제를 탭합니다. ID 토큰이 OAuth 2.0 액세스 토큰 및 범위를 대체했습니다. | |
gapi.signin2 객체 및 관련 메서드: | ||
gapi.signin2.render() | 삭제를 탭합니다. g_id_signin 요소의 HTML DOM 로드 또는 google.accounts.id.renderButton에 대한 JS 호출은 Google 계정에 대한 사용자 로그인을 트리거합니다. |