Tính năng Đăng nhập bằng Google giúp bạn nhanh chóng quản lý quy trình xác thực người dùng trên trang web của mình. Người dùng đăng nhập vào Tài khoản Google, đưa ra sự đồng ý và chia sẻ thông tin hồ sơ của họ một cách an toàn với nền tảng của bạn.
Các nút có thể tuỳ chỉnh và nhiều luồng được hỗ trợ cho hoạt động đăng ký và đăng nhập của người dùng.
Quy trình đăng ký là các bước để có được sự đồng ý của chủ Tài khoản Google về việc chia sẻ thông tin hồ sơ của họ với nền tảng của bạn. Thông thường, một tài khoản mới sẽ được tạo trên trang web của bạn bằng dữ liệu được chia sẻ này, nhưng điều này không bắt buộc.
Đăng nhập là việc đăng nhập người dùng vào trang web của bạn bằng Tài khoản Google đang hoạt động với nút đăng nhập được cá nhân hoá hoặc tính năng Một lần chạm và tính năng Đăng nhập tự động đối với những người dùng đã đăng nhập vào Tài khoản Google của họ.
Xem Nghiên cứu điển hình để biết một số câu chuyện thành công về việc tích hợp tính năng Đăng nhập bằng Google.
Bạn cũng có thể sử dụng API uỷ quyền Dịch vụ nhận dạng của Google. API này cho phép bạn lấy mã truy cập để sử dụng với các API của Google hoặc để truy cập vào dữ liệu người dùng.
Bản minh hoạ tính năng Đăng nhập bằng Google
Nhấp vào nút này để đăng nhập vào Tài khoản Google của bạn.
Quyền riêng tư của người dùng
Dữ liệu trong quy trình Đăng nhập bằng Google sẽ không được dùng cho mục đích quảng cáo hoặc các mục đích không bảo mật khác.
Trường hợp sử dụng
Một số lý do để thêm tính năng Đăng nhập bằng Google vào trang web của bạn là:
- Thêm một nút Đăng nhập bằng Google an toàn và đáng tin cậy rõ ràng vào trang cài đặt hoặc tạo tài khoản.
- Điền sẵn dữ liệu được chia sẻ đồng thuận từ một hồ sơ Tài khoản Google cho các tài khoản mới.
- Người dùng có thể đăng nhập một lần vào Tài khoản Google mà không cần nhập lại tên người dùng hoặc mật khẩu trên các trang web khác.
- Khi truy cập lại, người dùng có thể đăng nhập tự động hoặc bằng một lần nhấp trên toàn bộ trang web.
- Sử dụng Tài khoản Google đã xác minh để bảo vệ bình luận, phiếu bầu hoặc biểu mẫu khỏi hành vi sai trái, đồng thời cho phép chế độ ẩn danh.
Tính năng được hỗ trợ
Các tính năng này được tính năng Đăng nhập bằng Google hỗ trợ:
- Đăng ký để tạo một tài khoản mới, được tự động điền tự động từ một hồ sơ Tài khoản Google (không bắt buộc).
- Đăng nhập, sử dụng trình chọn tài khoản để chọn từ nhiều tài khoản.
- Đăng nhập chỉ bằng một lần nhấn nếu bạn đã đăng nhập vào Tài khoản Google.
- Bạn có thể đăng nhập tự động khi quay lại bằng máy tính, điện thoại hoặc thậm chí là nhiều thẻ trình duyệt.
- Đăng xuất để tắt tính năng tự động đăng nhập trên tất cả thiết bị của bạn.
Hãy lưu ý xem các trạng thái tài khoản có thể ảnh hưởng như thế nào đến tính năng Đăng nhập bằng Google:
- Khi bạn tạm ngưng Tài khoản Google, hệ thống sẽ dừng đăng nhập vào tất cả các trang web bằng tính năng Đăng nhập bằng Google.
- Việc xóa tài khoản Google hoặc tài khoản đối tác của bạn ảnh hưởng đến một trong hai trường hợp, nhưng không ảnh hưởng đến tài khoản khác.
So sánh với OAuth và OpenId Connect
OAuth và OpenId Connect là các tiêu chuẩn mở cung cấp nhiều tuỳ chọn có thể định cấu hình để tinh chỉnh hành vi của các luồng xác thực và uỷ quyền. Hãy tham khảo tài liệu về OAuth của Google để biết thêm thông tin chi tiết.
Tính năng Đăng nhập bằng Google cung cấp một SDK duy nhất để bao gồm nhiều dịch vụ liên quan, chẳng hạn như nút cá nhân hoá, tính năng Một lần chạm, tính năng Tự động đăng nhập và uỷ quyền. Hộp cát về quyền riêng tư hướng đến việc mang lại cho nhà phát triển trải nghiệm dễ dàng và an toàn hơn so với giao thức OAuth và OpenSL Connect tiêu chuẩn, trong khi vẫn mang lại trải nghiệm người dùng liền mạch hơn.
- Tính năng Đăng nhập bằng Google dựa trên OAuth 2.0. Các quyền mà người dùng cấp thông qua tính năng Đăng nhập bằng Google cũng giống như các quyền mà họ cấp cho OAuth và ngược lại.
- OAuth 2.0 cũng là giao thức tiêu chuẩn ngành cho việc uỷ quyền. Phương thức này cung cấp một tập hợp các điểm cuối mà các bên đáng tin cậy tích hợp qua HTTP.
- API Dịch vụ nhận dạng của Google (GIS) có bằng một số ngôn ngữ, bao gồm JavaScript và HTML, cho phép xác thực và uỷ quyền.
- GIS tách riêng khoảnh khắc xác thực khỏi khoảnh khắc cấp phép. Trong thời điểm xác thực, bạn có thể tích hợp nhanh chóng bằng cách chỉ cần tích hợp một số phần tử trên giao diện người dùng vào trang web của mình, chẳng hạn như nút được cá nhân hoá, tính năng Một lần chạm và tính năng đăng nhập tự động. Các thành phần này trên giao diện người dùng mang đến trải nghiệm xác thực nhất quán trên tất cả các trang web của bên thứ ba. Trong khoảnh khắc cấp phép, GIS sẽ kích hoạt các luồng OAuth để thay mặt người dùng trả về các mã thông báo cho hoạt động truy cập vào dữ liệu.
- Xác thực GIS giúp quá trình tích hợp với các bên đáng tin cậy trở nên dễ dàng hơn và giảm hầu hết gánh nặng về OAuth cũng như kiến thức về bảo mật cho nhà phát triển. Bạn không cần phải chọn trong số nhiều phương pháp để lấy mã truy cập hoặc mã uỷ quyền, hoặc chịu rủi ro khi chọn sai phương pháp. Mặc dù giao thức OAuth 2.0 tiết lộ nhiều thông tin chi tiết, chẳng hạn như các tham số yêu cầu và phản hồi của các điểm cuối HTTP, nhưng GIS sẽ xử lý các chi tiết triển khai này cho bạn. Ngoài ra, theo mặc định, GIS cũng bao gồm một số cách triển khai bảo mật cho biện pháp bảo vệ Giả mạo yêu cầu trên nhiều trang web (CSRF).
- Với HTML API và Trình tạo mã, tính năng xác thực GIS sẽ hạ thấp tiêu chuẩn hơn nữa cho việc tích hợp các bên đáng tin cậy. Bạn không cần phải có nhà phát triển JavaScript để tạo mã. Điều này làm giảm mức độ trải nghiệm OAuth cần thiết cũng như thời gian triển khai.
- Trải nghiệm người dùng uỷ quyền của GIS hoàn toàn dựa trên Trải nghiệm người dùng OAuth. Tuy nhiên, thư viện JavaScript của GIS sẽ thêm một số hạn chế để tích hợp bên phụ thuộc một cách dễ dàng và an toàn hơn.
- GIS cũng cung cấp một số tính năng ngoài giao thức OAuth. Ví dụ: API này tích hợp API Trình quản lý thông tin xác thực mật khẩu và API Trình quản lý thông tin xác thực liên kết.
Với Dịch vụ nhận dạng của Google, nhà phát triển có thể sử dụng một dịch vụ chuyên biệt và tích hợp để giúp người dùng đăng nhập vào trang web và ứng dụng của nhà phát triển bằng bất kỳ thông tin đăng nhập nào mà người dùng chọn. Sứ mệnh của GIS là hỗ trợ và tinh giản trải nghiệm người dùng cho nhiều loại thông tin xác thực, giảm tiêu chuẩn kỹ thuật cho quá trình tích hợp bên tin cậy.
Trình quản lý thông tin xác thực liên kết (FedCM)
Trong sáng kiến Hộp cát về quyền riêng tư, Chrome sẽ từng bước hỗ trợ cookie của bên thứ ba. GIS tích hợp API FedCM. Đây là một giải pháp mới thay thế để bảo đảm quyền riêng tư cho cookie của bên thứ ba dành cho các nhà cung cấp danh tính được liên kết. GIS bắt đầu di chuyển tất cả trang web sang FedCM trên trình duyệt Chrome vào tháng 4 năm 2024.
Thời điểm xác thực và uỷ quyền riêng biệt
Để lấy mã truy cập để sử dụng với các API của Google hoặc để truy cập vào dữ liệu người dùng, bạn cần gọi API uỷ quyền cho Dịch vụ nhận dạng của Google. Đây là một API JavaScript riêng biệt, nhưng được đóng gói cùng với API xác thực.
Nếu trang web của bạn cần gọi cả API xác thực và API uỷ quyền, thì bạn cần gọi riêng các API đó tại các thời điểm khác nhau. Tại thời điểm xác thực, trang web của bạn có thể tích hợp với tính năng Một lần chạm, tính năng tự động đăng nhập và nút Đăng nhập bằng Google để cho phép người dùng đăng nhập hoặc đăng ký trên trang web của bạn. Sau này, khi cần truy cập vào dữ liệu từ Google, bạn sẽ gọi API uỷ quyền để yêu cầu sự đồng ý và nhận mã truy cập để truy cập vào dữ liệu. Việc phân tách này tuân thủ phương pháp hay nhất về uỷ quyền gia tăng mà chúng tôi đề xuất, trong đó các quyền được yêu cầu theo bối cảnh.
Để thực thi việc phân tách này, API xác thực chỉ có thể trả về mã thông báo mã nhận dạng dùng để đăng nhập vào trang web của bạn, trong khi API uỷ quyền chỉ có thể trả về mã hoặc mã truy cập chỉ dùng để truy cập vào dữ liệu mà không dùng để đăng nhập.
Nhờ có sự phân tách này, người dùng có trải nghiệm xác thực nhất quán trên các trang web khác nhau. Điều này có thể làm tăng sự tin cậy và sử dụng của người dùng, đồng thời nâng cao tỷ lệ chuyển đổi của người dùng trên trang web của bạn. Ngoài ra, do sự phân tách này, các dịch vụ nhận dạng của Google giúp giảm mức độ trải nghiệm OAuth cần thiết và thời gian triển khai cho các nhà phát triển xác thực.