Mã nhận dạng giữa 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à các 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à những người sử dụng phần mềm của họ thường nghĩ rằng tất cả các mô-đun này là một phần của một ứng dụng.

Cách triển khai OAuth 2.0 của Google hỗ trợ quan điểm này. Để sử dụng bất cứ 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à "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 mã ứng dụng, một chuỗi duy nhất được tạo trong API Console.

Mục tiêu uỷ quyền trên nhiều ứng dụng

Khi một ứng dụng 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 cho một phạm vi cụ thể, người dùng sẽ nhìn thấy màn hình đồng ý của người dùng, trong đó 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 cho 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 một dự án, thì việc cấp quyền này cho biết người dùng tin tưởng toàn bộ ứng dụng cho phạm vi đó.

Kết quả 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, 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ị giới hạn dữ liệu đầu vào.

Mã thông báo truy cập trên nhiều ứng dụ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 vào API của Google. Thông thường, người dùng phải phê duyệt khi cấp mã truy cập.

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

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