Danh tính trên nhiều khách hàng

Khi nhà phát triển xây dựng phần mềm, phần mềm đó thường bao gồm các mô-đun chạy trên máy chủ web, các mô-đun khác chạy trong trình duyệt và những mô-đun khác chạy dưới dạng ứng dụng gốc dành cho thiết bị di động. Cả nhà phát triển và người sử dụng phần mềm thường coi tất cả các mô-đun này là một phần của một ứng dụng duy nhất.

Việc triển khai OAuth 2.0 của Google hỗ trợ chế độ xem thế giới này. Để sử dụng bất kỳ dịch vụ nào dựa trên OAuth2.0, bạn phải thiết lập phần mềm trong Google API Console. Đơn vị tổ chức trong API Console là một "dự án", có thể tương ứng với một ứng dụng nhiều thành phần. Đối với mỗi dự án, bạn có thể cung cấp thông tin thương hiệu và phải chỉ định API mà ứng dụng sẽ truy cập. Mỗi thành phần của một ứng dụng nhiều thành phần được xác định bằng một client ID (mã ứng dụng khách). Đây là một chuỗi duy nhất được tạo trong API Console.

Mục tiêu uỷ quyền trên nhiều khách hàng

Khi sử dụng OAuth 2.0 để uỷ quyền, ứng dụng sẽ thay mặt người dùng yêu cầu mã truy cập OAuth 2.0 để truy cập vào một tài nguyên mà ứng dụng xác định bằng một hoặc nhiều chuỗi phạm vi. Thông thường, người dùng sẽ được yêu cầu phê duyệt quyền truy cập.

Khi người dùng cấp quyền truy cập vào ứng dụng của bạn trong một phạm vi cụ thể, người dùng sẽ nhìn thấy màn hình xin phép người dùng, trong đó có cả thương hiệu sản phẩm ở cấp dự án mà bạn đã thiết lập trong Google API Console. Do đó, Google xem xét rằng khi người dùng đã cấp quyền truy cập vào một phạm vi cụ thể cho bất kỳ mã ứng dụng khách nào trong dự án, việc cấp quyền đó cho biết sự tin tưởng của người dùng đối với toàn bộ ứng dụng trong phạm vi đó.

Ảnh hưởng của việc này là người dùng không được nhắc phê duyệt quyền truy cập vào bất kỳ tài nguyên nào nhiều lần cho cùng một ứng dụng logic, bất cứ khi nào các thành phần của ứng dụng có thể được cơ sở hạ tầng uỷ quyền của Google xác thực một cách đáng tin cậy, mà hiện nay bao gồm ứng dụng web, ứng dụng Android, ứng dụng Chrome, ứng dụng iOS, ứng dụng gốc dành cho máy tính và thiết bị đầu vào giới hạn.

Mã truy cập trên nhiều khách hàng

Phần mềm có thể lấy mã truy cập OAuth 2.0 theo nhiều cách, tuỳ thuộc vào nền tảng nơi mã đang chạy. Để biết thông tin chi tiết, hãy xem bài viết Sử dụng OAuth 2.0 để truy cập các API của Google. Thông thường, người dùng phải được người dùng phê duyệt khi cấp mã truy cập.

May mắn là cơ sở hạ tầng uỷ quyền của Google có thể sử dụng thông tin về các lần phê duyệt của người dùng đối với một mã ứng dụng khách trong một dự án nhất định khi đánh giá xem có cho phép người dùng khác trong cùng một dự án hay không.

Ảnh hưởng của việc này là nếu một ứng dụng Android yêu cầu mã truy cập trong một phạm vi cụ thể và người dùng gửi yêu cầu đã phê duyệt cho một ứng dụng web trong cùng dự án thuộc cùng phạm vi đó, thì người dùng sẽ không cần yêu cầu phê duyệt nữa. Cách này hoạt động theo cả hai cách: nếu bạn đã cấp quyền truy cập vào một phạm vi trong ứng dụng Android, thì ứng dụng khác sẽ không yêu cầu lại phạm vi đó trong cùng dự án, chẳng hạn như một ứng dụng web.