Google 로그인에서 이전

이 가이드에서는 이전 Google 로그인 플랫폼 라이브러리를 최신 Google ID 서비스 라이브러리인증을 제공합니다.

클라이언트가 JavaScript용 Google API 클라이언트 라이브러리 또는 승인에 관한 이전 라이브러리에 대해 자세히 알아보려면 Google ID로 이전하기를 참고하세요. 서비스를 참고하세요.

<ph type="x-smartling-placeholder">

인증 및 승인

인증: 누가 누구인지를 나타내며 일반적으로 사용자 가입 또는 로그인 등이 있습니다. 승인은 데이터 또는 리소스에 대한 액세스 거부 예를 들어 앱에서 사용자의 Google Drive 액세스에 대한 사용자의 동의가 있어야 합니다.

이전의 Google 로그인 플랫폼 라이브러리와 마찬가지로, 새로운 Google ID 서비스 라이브러리는 인증과 승인을 모두 지원하도록 빌드됩니다. 프로세스입니다

그러나 최신 라이브러리는 두 프로세스를 분리하여 복잡성을 줄입니다. 을 제공합니다.

인증에만 관한 사용 사례인 경우 이 페이지를 계속 읽어보세요.

사용 사례에 승인이 포함된 경우 사용자 승인 작동 방식을 참고하세요. 및 Google ID 서비스로 이전을 통해 애플리케이션이 새로운 API를 사용할 수 있습니다.

변경된 내용

사용자를 위해 새로운 Google ID 서비스 라이브러리는 유용성이 개선되었습니다. 주요 특징은 다음과 같습니다.

  • 개인 사용자가 적은 새로운 원탭 및 자동 로그인 흐름 걸음 수
  • 사용자 맞춤설정이 적용된 새로고침된 로그인 버튼
  • 웹 전반에 걸쳐 일관된 브랜딩 및 동일한 로그인 행동이 개선될 수 있으므로 이해, 신뢰,
  • 콘텐츠를 빠르게 찾을 수 있습니다. 사용자가 어디에서나 바로 가입하고 로그인할 수 있습니다. 한 번에 손쉽게 실행할 수 있습니다.

개발자를 위해 복잡성을 줄이고 보안을 강화하며 가능한 한 빠르게 통합할 수 있습니다. 일부 개선사항은 다음과 같습니다.

  • 사이트의 정적 콘텐츠에 사용자 로그인을 추가하는 옵션은 HTML,
  • 승인 및 공유에 대한 로그인 인증의 분리 OAuth 2.0 통합의 복잡성이 더 이상 필요하지 않습니다. 사이트에 로그인하도록 유도하거나
  • 팝업 및 리디렉션 모드가 모두 계속 지원되지만 Google의 OAuth는 백엔드 서버의 로그인 엔드포인트로 리디렉션되어
  • 이전 Google ID의 기능을 통합한 Google API JavaScript 라이브러리를 새 라이브러리로 통합한 다음
  • 이제 로그인 응답의 사용 여부를 결정하면 getter 스타일 함수를 통한 Promise 및 간접 참조에는 편의상 삭제되었습니다.

로그인 이전의 예

기존의 Google 로그인 버튼에서 이전하는 경우 사용자가 사이트에 로그인하려는 경우 가장 간단한 변경사항은 새로운 맞춤설정 버튼으로 업데이트합니다. 이렇게 하려면 새로운 로그인 객체를 사용하도록 코드베이스 업데이트를 지원합니다.

라이브러리 및 구성

이전 Google 로그인 플랫폼 라이브러리: apis.google.com/js/platform.jsJavaScript용 Google API 클라이언트 라이브러리: gapi.client는 더 이상 필요하지 않습니다. 그들은 하나의 새로운 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 콘솔 사용 다음 클라이언트 설정을 확인하고 필요한 경우 업데이트합니다.

  • 테스트 앱과 프로덕션 앱이 별도의 프로젝트를 사용하고 자체 프로젝트 클라이언트 ID,
  • OAuth 2.0 클라이언트 ID 유형이 '웹 애플리케이션'이고
  • HTTPS는 승인된 JavaScript 출처 및 리디렉션 URI에 사용됩니다.

영향을 받은 코드 식별 및 테스트

디버그 쿠키는 영향을 받은 코드를 찾고 지원 중단 후 테스트하는 데 도움이 될 수 있습니다. 확인할 수 있습니다

크거나 복잡한 앱에서는 코드의 영향을 받는 모든 코드를 찾기 어려울 수 있습니다. gapi.auth2 모듈이 지원 중단되었습니다. 예정된 의 기존 사용 기록 지원 중단된 기능을 Console에 추가하려면 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 로그인 버튼이 표시됩니다. 팝업 또는 리디렉션 중에서 선택 인증 응답이 처리되는 방식의 차이점을 자바스크립트 콜백 또는 백엔드 서버 로그인으로 보안 리디렉션 할 수 있습니다

앞서 말씀드린

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>

리디렉션 모드

사용자의 백엔드 서버 로그인 엔드포인트에 연결할 수 있습니다.

<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()를 호출하지 않아도 되므로 를 사용하여 사이트에서 이미지와 시각적 애셋을 호스팅하고 유지관리할 수 있습니다.

Google 로그인

Google 로그인

사용자 로그인 상태 업데이트 버튼 텍스트입니다.

새로운 방식

인증 전용 로그인 시나리오에서 새 라이브러리를 사용하려면 다음을 선택하세요. 코드 샘플을 사용하여 기존 구현을 확인하시기 바랍니다.

콜백을 사용하여 사용자의 브라우저에서 직접 로그인을 처리합니다.

<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 토큰을 확인합니다. 있습니다.

<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 계정으로 로그인 버튼을 맞춤설정합니다. 크기, 모양, 색상입니다. 원탭 팝업과 함께 맞춤설정된 버튼을 사용하여 로그인율을 향상시킬 수 있습니다.

Google 계정으로 로그인
버튼 원탭
팝업

사용자 로그인 상태가 '로그인'의 버튼 텍스트를 업데이트하지 않음 ~ '로그인했습니다.' 동의를 제공한 후 또는 재방문 시 버튼에는 사용자 이름, 이메일, 프로필 사진이 포함됩니다.

이 인증 전용 예시에서 새 accounts.google.com/gsi/clientg_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 리디렉션을 통해 백엔드 서버로 Google 계정으로 로그인 버튼 ux_moderedirect로 설정되어 있습니다.

두 경우 모두 다음을 삭제하여 기존 콜백 핸들러를 업데이트합니다.

대신 새 JWT에서 credential 하위 필드에 대한 직접 참조를 사용하세요. CredentialResponse 객체를 사용하여 사용자 프로필 데이터를 사용할 수 있습니다.

또한 리디렉션 모드의 경우에만 교차 사이트 요청을 위조 (CSRF) 및 백엔드 서버에서 Google ID 토큰 확인

사용자가 사이트와 상호작용하는 방식을 더 잘 이해하려면 CredentialResponse의 select_by 필드를 사용하여 사용자 확인 가능 동의 결과 및 사용된 특정 로그인 흐름을 파악할 수 있습니다.

사용자가 웹사이트에 처음 로그인하면 Google에서 사용자에게 동의 요청 메시지를 표시합니다. 앱과 계정 프로필을 공유합니다. 사용자가 동의한 후에만 ID 토큰 사용자 인증 정보 페이로드에서 앱에 공유된 사용자 프로필 이 프로필에 대한 액세스 권한을 취소하는 것은 이전 로그인 라이브러리를 사용할 수 있습니다.

사용자가 권한을 취소하고 Google 계정에서 앱 연결을 해제할 수 있습니다. https://myaccount.google.com/permissions 페이지를 방문하세요. 또는 API를 트리거하여 앱에서 직접 연결을 해제할 수도 있습니다. 구현 호출 이전 disconnect 메서드는 최신 revoke 메서드로 대체됩니다.

사용자가 플랫폼에서 계정을 삭제할 때는 revoke하여 자녀의 Google 계정에서 앱을 연결 해제하세요.

이전에는 auth2.signOut()를 사용하여 사용자 로그아웃을 관리할 수 있었습니다. 할 수 있습니다. 앱에서 auth2.signOut() 사용을 모두 삭제해야 합니다. 사용자 세션 상태 및 로그인 상태를 직접 관리해야 합니다.

세션 상태 및 리스너

새 라이브러리는 웹의 로그인 상태 또는 세션 상태를 유지하지 않습니다. 있습니다.

Google 계정의 로그인 상태, 앱의 세션 상태 및 로그인 상태는 고유하고 별개의 개념입니다.

Google 계정과 앱의 사용자 로그인 상태는 서로 독립적입니다. 사용할 수 있습니다. Google 계정에 로그인했습니다.

Google 계정으로 로그인, 원탭 또는 자동 로그인이 포함된 경우 사이트 사용자는 먼저 Google 계정에 로그인해야 다음 작업을 수행할 수 있습니다.

  • 처음 가입할 때 사용자 프로필 공유에 동의 사이트에 로그인할 때
  • 나중에 사이트를 다시 방문할 때 로그인할 수 있습니다.

사용자는 로그인 상태를 유지하거나 로그아웃하거나 다른 Google 계정으로 전환할 수 있습니다. 웹사이트에서 활성 상태의 로그인 세션을 유지하는 동시에

이제 다음 도메인의 사용자의 로그인 상태를 직접 관리할 책임이 있습니다. 웹 앱을 만드는 것입니다. 이전에는 Google 로그인을 통해 사용자의 세션 상태를 참조하세요.

auth2.attachClickHandler() 및 등록된 해당 항목에 대한 참조를 삭제합니다. 콜백 핸들러에 전달됩니다.

이전에는 리스너를 사용하여 비밀번호를 재설정해야 합니다. 리스너는 더 이상 지원되지 않습니다.

listen(), auth2.currentUser, auth2.isSignedIn입니다.

쿠키

Google 계정으로 로그인에서는 쿠키에 대한 설명인 쿠키를 제한적으로 사용합니다. 있습니다. Google에서 쿠키를 사용하는 방식을 참고하세요. 를 참조하세요.

이전 Google 로그인 플랫폼 라이브러리에서 설정된 G_ENABLED_IDPS 쿠키 더 이상 사용되지 않습니다.

원하는 경우 새 Google ID 서비스 라이브러리에서 쿠키는 다음과 같이 사용할 수 있습니다.

  • g_state는 사용자 로그아웃 상태를 저장하며 원탭을 사용할 때 설정됩니다. 팝업 또는 자동 로그인
  • g_csrf_tokenCSRF 공격을 방지하는 데 사용되는 이중 제출 쿠키입니다. 로그인 엔드포인트가 호출될 때 설정됩니다. 로그인 URI 값입니다. 명시적으로 설정하거나 현재 페이지의 URI로 기본 설정할 수 있습니다. 내 로그인 엔드포인트는 다음을 사용할 때 다음과 같은 조건에서 호출될 수 있습니다.

    • HTML API: data-ux_mode=redirect 또는 data-login_uri가 다음에 해당하는 경우 set 또는

    • ux_mode=redirect가 포함된 JavaScript API 및 위치 google.accounts.id.prompt()은(는) 원탭을 표시하는 데 사용되지 않습니다. 자동 로그인.

쿠키를 관리하는 서비스가 있는 경우 두 개의 새 쿠키를 추가해야 합니다. 이전이 완료되면 이전 쿠키를 삭제합니다.

여러 도메인 또는 하위 도메인을 관리하는 경우 원탭 디스플레이 표시 하위 도메인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() IdConfiguration.callback JS 및 HTML 데이터 콜백의 경우 오래된 것으로 교체합니다.
GoogleAuth.currentUser.get() CredentialResponse 대신 더 이상 필요하지 않은 CredentialResponse를 사용하세요.
GoogleAuth.currentUser.listen() 삭제를 탭합니다. 사용자의 현재 Google 로그인 상태를 확인할 수 없습니다. 사용자가 동의 및 로그인 시 Google에 로그인해야 합니다. 이 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() 삭제를 탭합니다. HTML DOM 로드 g_id_signin 요소 또는 JS 호출을 통해 google.accounts.id.renderButton 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() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
GoogleUser.getHostedDomain() CredentialResponse 대신 credential.hd를 직접 사용하세요.
GoogleUser.getId() CredentialResponse 대신 credential.sub를 직접 사용하세요.
GoogleUser.grantOfflineAccess() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
GoogleUser.grant() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
GoogleUser.hasGrantedScopes() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
GoogleUser.isSignedIn() 삭제를 탭합니다. 사용자의 현재 Google 로그인 상태를 확인할 수 없습니다. 사용자가 동의 및 로그인 시 Google에 로그인해야 합니다.
GoogleUser.reloadAuthResponse() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2 객체 및 관련 메서드:
gapi.auth2.AuthorizeConfig 객체 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.AuthorizeResponse 객체 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.AuthResponse 객체 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.authorize() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.ClientConfig() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.getAuthInstance() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.init() 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.offlineAccessOptions 객체 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.auth2.SignInOptions 객체 삭제를 탭합니다. OAuth 2.0 액세스 토큰과 범위가 ID 토큰으로 대체되었습니다.
gapi.signin2 객체 및 관련 메서드가 포함됩니다.
gapi.signin2.render() 삭제를 탭합니다. HTML DOM 로드 g_id_signin 요소 또는 JS 호출을 통해 google.accounts.id.renderButton Google 계정에 대한 사용자 로그인을 실행합니다.