Chúng tôi đang ngừng Google Đăng trong JavaScript Thư viện Cương lĩnh web . Để thẩm định và người dùng đăng nhập, sử dụng dịch vụ nhận dạng Google SDK mới cho cả webAndroid để thay thế.

Di chuyển từ đăng nhập Google+

Các bước để giảm thiểu tác động của việc thay đổi phạm vi đối với người dùng

  1. Nếu ứng dụng của bạn yêu cầu địa chỉ email của người dùng đã xác thực và trước đây bạn đã sử dụng profile.emails.read cho mục đích đó, hãy sử dụng email thay thế.
  2. Nhận được sự chấp thuận cho profile.emails.read với một yêu cầu xác minh đã được phê duyệt. Tham khảo Làm cách nào để gửi để xác minh?
  3. Thu hồi mã thông báo của người dùng trước đối với phạm vi sẽ bị xóa hoặc xóa hoàn toàn quyền truy cập vào ứng dụng. Ví dụ: mã thông báo có quyền truy cập profile.emails.read sẽ bị thu hồi. Chúng tôi khuyên bạn nên áp dụng việc thu hồi khi người dùng đang sử dụng ứng dụng của bạn để bạn có thể nhận được sự đồng ý của người dùng ngay lập tức.
  4. Nhắc người dùng của bạn đồng ý lại với phạm vi mới, chẳng hạn như email , không có profile.emails.read .
  5. Xóa phạm vi sẽ bị loại bỏ dần khỏi cấu hình màn hình chấp thuận OAuth của API Google của bạn.

Những thay đổi bạn phải thực hiện để di chuyển trang web của mình từ Đăng nhập bằng Google+ sang Đăng nhập bằng Google tùy thuộc vào quy trình Đăng nhập bằng Google+ mà bạn sử dụng. Nói chung, quá trình di chuyển yêu cầu bạn cập nhật nút đăng nhập, phạm vi được yêu cầu và hướng dẫn về cách truy xuất thông tin hồ sơ từ Google.

Khi bạn cập nhật nút đăng nhập của mình, không tham chiếu đến G + hoặc sử dụng màu đỏ. Tuân thủ các nguyên tắc thương hiệu được cập nhật của chúng tôi.

Hầu hết các ứng dụng Đăng nhập G + đều yêu cầu một số kết hợp của các phạm vi: plus.login , plus.meplus.profile.emails.read . Bạn cần chỉnh sửa lại phạm vi của mình như sau:

Phạm vi cũ Phạm vi mới
plus.login profile
plus.me openid
plus.profile.emails.read email

Nhiều người triển khai Đăng nhập bằng Google+ đã sử dụng quy trình . Điều này có nghĩa là các ứng dụng Android, iOS hoặc JavaScript lấy mã OAuth từ Google và máy khách gửi mã đó trở lại máy chủ, cùng với tính năng bảo vệ chống giả mạo yêu cầu trên nhiều trang web. Sau đó, máy chủ xác thực mã và nhận mã làm mới và truy cập để lấy thông tin hồ sơ người dùng từ API people.get .

Google hiện khuyên bạn nên yêu cầu mã thông báo ID và gửi mã thông báo ID đó từ máy khách tới máy chủ của bạn. Mã thông báo ID được tích hợp sẵn các biện pháp bảo vệ chống giả mạo trên nhiều trang web và cũng có thể được xác minh tĩnh trên máy chủ của bạn, điều này tránh được lệnh gọi API bổ sung để lấy thông tin hồ sơ người dùng từ máy chủ của Google. Làm theo hướng dẫn để xác thực mã thông báo ID trên máy chủ của bạn .

Nếu bạn vẫn muốn sử dụng dòng mã để lấy thông tin hồ sơ, bạn có thể làm như vậy. Sau khi máy chủ của bạn có mã thông báo truy cập, bạn cần lấy thông tin hồ sơ người dùng từ các điểm cuối userinfo được chỉ định trong tài liệu Khám phá đăng nhập của chúng tôi. Phản hồi API được định dạng khác với phản hồi hồ sơ trên Google+, vì vậy bạn cần cập nhật quá trình phân tích cú pháp của mình sang định dạng mới.

Di chuyển nút đăng nhập HTML

Nếu bạn đã đưa nút Đăng nhập bằng Google+ vào trang của mình bằng cách chỉ định người g-signin lớp cho một phần tử, hãy thực hiện các thay đổi sau:

  • Khi bạn chỉ định ID khách hàng của mình, trong <meta> , thuộc tính data- hoặc đối tượng tham số, hãy thay đổi chuỗi clientid thành client_id , như trong ví dụ sau:

    <!-- Google+ Sign-in (old) -->
    <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
    

    <!-- Google Sign-in (new) -->
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    
  • Gán lớp g-signin2 cho phần tử nút g-signin thay vì g-signin . Ngoài ra, hãy chỉ định các lệnh gọi lại thành công và thất bại riêng biệt thay vì một lệnh gọi lại duy nhất, như trong ví dụ sau:

    <!-- Google+ Sign-in (old) -->
    <div
      class="g-signin"
      data-callback="signinCallback">
    </div>
    

    <!-- Google Sign-in (new) -->
    <div
      class="g-signin2"
      data-onsuccess="onSignIn"
      data-onfailure="onSignInFailure">
    </div>
    
  • Thay vì một trình xử lý gọi lại duy nhất, hãy xác định trình xử lý thành công và thất bại, như trong ví dụ sau:

    // Google+ Sign-in (old)
    function signinCallback(authResult) {
      if (authResult['status']['signed_in']) {
        // Handle successful sign-in
      } else {
        // Handle sign-in errors
        console.log('Sign-in error: ' + authResult['error']);
      }
    }
    

    // Google Sign-in (new)
    function onSignIn(googleUser) {
      // Handle successful sign-in
    }
    function onSignInFailure() {
      // Handle sign-in errors
    }
    
  • Những thay đổi này cập nhật phạm vi mặc định của bạn profile email openid . Bạn có thể lấy thông tin tiểu sử cơ bản của người dùng, như tên, email và URL hình ảnh, như sau:

    // Google Sign-in (new)
    function onSignIn(googleUser) {
      let profile = googleUser.getBasicProfile();
      let fullName = profile.getName();
      let email = profile.getEmail();
      let imageUrl = profile.getImageUrl();
    }
    

Di chuyển nút đăng nhập được hiển thị động

Nếu bạn đã đưa nút Đăng nhập bằng Google+ vào trang của mình bằng cách gọi gapi.signin.render() , hãy thực hiện các thay đổi sau:

  • Khi bạn chỉ định ID khách hàng của mình, trong <meta> , thuộc tính data- hoặc đối tượng tham số, hãy thay đổi chuỗi clientid thành client_id , như trong ví dụ sau:

    <!-- Google+ Sign-in (old) -->
    <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
    

    <!-- Google Sign-in (new) -->
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    
  • Hiển thị nút đăng nhập bằng gapi.signin2.render() thay vì gapi.signin.render() , như trong ví dụ sau:

    // Google+ Sign-in (old)
    gapi.signin.render('myButton', additionalParams);
    

    // Google Sign-in (new)
    gapi.signin2.render('myButton', additionalParams);
    
  • Thay vì một trình xử lý gọi lại duy nhất, hãy xác định trình xử lý thành công và thất bại, như trong ví dụ sau:

    // Google+ Sign-in (old)
    function signinCallback(authResult) {
      if (authResult['status']['signed_in']) {
        // Handle successful sign-in
      } else {
        // Handle sign-in errors
        console.log('Sign-in error: ' + authResult['error']);
      }
    }
    

    // Google Sign-in (new)
    function onSignIn(googleUser) {
      // Handle successful sign-in
    }
    function onSignInFailure() {
      // Handle sign-in errors
    }
    

Những thay đổi này cập nhật phạm vi mặc định của bạn profile email openid . Bạn có thể lấy thông tin hồ sơ cơ bản của người dùng bằng phương thức getBasicProfile() .

Di chuyển luồng đăng nhập do JavaScript khởi tạo

Nếu bạn đã bắt đầu quy trình đăng nhập bằng lệnh gọi tới gapi.auth.signIn() khi người dùng nhấp vào nút đăng nhập, hãy thực hiện các thay đổi sau:

  • Khi bạn chỉ định ID khách hàng của mình, trong <meta> , thuộc tính data- hoặc đối tượng tham số, hãy thay đổi chuỗi clientid thành client_id , như trong ví dụ sau:

    <!-- Google+ Sign-in (old) -->
    <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
    

    <!-- Google Sign-in (new) -->
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    
  • Sử dụng gapi.auth2.attachClickHandler() để bắt đầu quy trình đăng nhập khi một nút được nhấn, như trong ví dụ sau:

    // Google+ Sign-in (old)
    var signinButton = document.getElementById('signinButton');
    signinButton.addEventListener('click', function() {
      gapi.auth.signIn(additionalParams);
    });
    

    // Google Sign-in (new)
    auth2 = gapi.auth2.init();
    auth2.attachClickHandler('signinButton', additionalParams, onSignIn, onSignInFailure);
    
  • Thay vì một trình xử lý gọi lại duy nhất, hãy xác định trình xử lý thành công và thất bại, như trong ví dụ sau:

    // Google+ Sign-in (old)
    function signinCallback(authResult) {
      if (authResult['status']['signed_in']) {
        // Handle successful sign-in
      } else {
        // Handle sign-in errors
        console.log('Sign-in error: ' + authResult['error']);
      }
    }
    

    // Google Sign-in (new)
    function onSignIn(googleUser) {
      // Handle successful sign-in
    }
    function onSignInFailure() {
      // Handle sign-in errors
    }
    

Những thay đổi này cập nhật phạm vi mặc định của bạn profile email openid . Bạn có thể lấy thông tin hồ sơ cơ bản của người dùng bằng cách gọi phương thức getBasicProfile() .

Di chuyển luồng phía máy chủ kết hợp

Nếu bạn đã sử dụng JavaScript API để lấy mã ủy quyền một lần để bạn chuyển đến máy chủ của mình, hãy thực hiện các thay đổi sau:

  • Thay đổi phạm vi từ https://www.googleapis.com/auth/plus.login thành profile .

  • Sử dụng phương thức gapi.auth2.grantOfflineAccess() với hàm gọi lại hiện có của bạn, như trong ví dụ sau:

    <!-- Google+ Sign-in (old) -->
    <div class="g-signin"
      data-scope="https://www.googleapis.com/auth/plus.login"
      data-clientid="YOUR_CLIENT_ID"
      data-redirecturi="postmessage"
      data-accesstype="offline"
      data-callback="signInCallback">
    </div>
    

    // Google Sign-in (new)
    auth2 = gapi.auth2.init({
      client_id: 'YOUR_CLIENT_ID',
      scope: 'profile'
    });
    
    ...
    
    auth2.grantOfflineAccess().then(signInCallback);
    

Nếu bạn cũng cần quyền truy cập vào email của người dùng, hãy thêm email vào tham số phạm vi.