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
- 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ụngemail
. - Yêu cầu xác minh được phê duyệt cho
profile.emails.read
. Hãy tham khảo Làm cách nào để gửi yêu cầu xác minh? - Thu hồi mã thông báo của người dùng trước đó về phạm vi phải loại bỏ hoặc loại bỏ hoàn toàn quyền truy cập vào ứng dụng. Ví dụ: cần thu hồi mã thông báo có quyền truy cập
profile.emails.read
. Bạn nên áp dụng việc thu hồi này khi người dùng đang trong ứ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. - Nhắc người dùng đồng ý lại với phạm vi mới (chẳng hạn như
email
) mà không cóprofile.emails.read
. - Xoá phạm vi sẽ bị loại bỏ khỏi cấu hình màn hình xin phép bằng OAuth cho các API của Google.
Để di chuyển ứng dụng của bạn từ tính năng Đăng nhập bằng Google+ sang tính năng Đăng nhập bằng Google, bạn cầ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. Làm theo tài liệu về tính năng Đăng nhập bằng Google cho Android để biết hướng dẫn đầy đủ.
Khi bạn cập nhật nút đăng nhập, đừng tham khảo G+ hoặc sử dụng màu đỏ. Tuân thủ nguyên tắc sử dụng thương hiệu đã cập nhật của chúng tôi.
Hầu hết ứng dụng Đăng nhập bằng Google+ đã yêu cầu một số tổ hợp phạm vi: plus.login
, plus.me
và plus.profile.emails.read
. Khi sử dụng GoogleSignInOptions.Builder
với tuỳ chọn DEFAULT_SIGN_IN
, bạn sẽ tự động yêu cầu phạm vi profile
cung cấp tên và ảnh hồ sơ của người dùng. Nếu cũng muốn biết địa chỉ email của người dùng, bạn nên gọi .requestEmail()
khi tạo tuỳ chọn đăng nhập bằng Google.
Nhiều người triển khai tính năng Đăng nhập bằng Google+ đã sử dụng
luồng mã. Điều này có nghĩa là các ứng dụng Android, iOS hoặc JavaScript sẽ lấy mã uỷ quyền OAuth của Google và ứng dụng gửi mã đó trở lại máy chủ, cùng với tính năng chống giả mạo trong yêu cầu trên nhiều trang web. Sau đó, máy chủ xác thực mã và lấy mã làm mới và mã truy cập để lấy thông tin hồ sơ người dùng từ API people.get
.
Hiện tại, bạn nên yêu cầu mã thông báo giá trị nhận dạng và gửi mã thông báo mã nhận dạng đó từ ứng dụng khách đến máy chủ của bạn. Mã thông báo mã nhận dạng đượ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 giúp tránh một lệnh gọi API bổ sung để lấy thông tin hồ sơ người dùng từ các máy chủ của Google. Làm theo hướng dẫn để xác thực mã thông báo giá trị nhận dạng trên máy chủ của bạn.
Nếu vẫn muốn sử dụng luồng mã để lấy thông tin hồ sơ, bạn có thể thực hiện. Sau khi máy chủ của bạn có mã truy cập, bạn cần lấy thông tin hồ sơ người dùng từ đ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 của API được định dạng khác với phản hồi của 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 thành định dạng mới.
Nếu đang sử dụng GoogleAuthUtil.getToken
hoặc Plus.API
, bạn nên migrate sang API Đăng nhập mới nhất để tăng tính bảo mật và trải nghiệm người dùng tốt hơn.