Xác thực và uỷ quyền là các cơ chế dùng để xác minh danh tính và truy cập vào các tài nguyên tương ứng. Tài liệu này xác định các thuật ngữ chính mà bạn nên biết trước khi triển khai tính năng xác thực và uỷ quyền trong ứng dụng.
Lưu ý: Phần tổng quan này sẽ tập trung vào việc xác thực và uỷ quyền cho các API Google Workspace. Một số thông tin trong tài liệu này có thể không liên quan đến các API khác của Google.
Tổng quan về quy trình
Sơ đồ dưới đây cho thấy các bước xác thực và cấp quyền quan trọng cho API Google Workspace:

Định cấu hình ứng dụng và dự án Google Cloud: Trong quá trình phát triển, bạn đăng ký ứng dụng trong Google Cloud Console, xác định phạm vi uỷ quyền và thông tin xác thực quyền truy cập để xác thực ứng dụng bằng khoá API, thông tin xác thực người dùng cuối hoặc thông tin xác thực tài khoản dịch vụ.
Xác thực ứng dụng để truy cập: Khi ứng dụng chạy, thông tin xác thực quyền truy cập đã đăng ký sẽ được đánh giá. Nếu ứng dụng của bạn đang xác thực với tư cách là người dùng cuối, thì bạn có thể thấy lời nhắc đăng nhập.
Yêu cầu tài nguyên: Khi ứng dụng của bạn cần quyền truy cập vào tài nguyên của Google, ứng dụng sẽ yêu cầu Google sử dụng phạm vi truy cập có liên quan mà bạn đã đăng ký trước đó.
Yêu cầu người dùng đồng ý: Nếu ứng dụng của bạn đang xác thực với tư cách là người dùng cuối, thì Google sẽ hiển thị màn hình xin phép bằng OAuth để người dùng có thể quyết định có cấp cho ứng dụng quyền truy cập vào dữ liệu đã yêu cầu hay không.
Gửi yêu cầu tài nguyên được phê duyệt: Nếu người dùng đồng ý với các phạm vi truy cập, ứng dụng sẽ gói thông tin xác thực và phạm vi truy cập do người dùng phê duyệt vào một yêu cầu. Yêu cầu được gửi đến máy chủ uỷ quyền của Google để lấy mã truy cập.
Google trả về một mã truy cập: Mã truy cập chứa danh sách phạm vi truy cập đã cấp. Nếu danh sách phạm vi được trả về bị giới hạn nhiều hơn phạm vi truy cập được yêu cầu, thì ứng dụng của bạn sẽ vô hiệu hoá mọi tính năng bị giới hạn bởi mã thông báo.
Truy cập các tài nguyên được yêu cầu: Ứng dụng của bạn sử dụng mã truy cập của Google để gọi các API liên quan và truy cập vào các tài nguyên đó.
Nhận mã làm mới (không bắt buộc): Nếu ứng dụng của bạn cần quyền truy cập vào một API của Google ngoài thời gian tồn tại của một mã truy cập, thì ứng dụng đó có thể lấy mã làm mới.
Yêu cầu thêm tài nguyên: Nếu cần có thêm quyền truy cập, ứng dụng sẽ yêu cầu người dùng cấp các phạm vi truy cập mới, dẫn đến một yêu cầu mới để lấy mã truy cập (các bước 3–6).
Thuật ngữ quan trọng
Dưới đây là danh sách các cụm từ liên quan đến việc xác thực và cấp phép:
- Xác thực
Hành động đảm bảo rằng người gọi chính (có thể là người dùng hoặc ứng dụng hành động thay mặt người dùng) là người đó. Khi viết ứng dụng Google Workspace, bạn cần lưu ý những loại xác thực sau:
- Xác thực người dùng
- Hành động của người dùng là xác thực (đăng nhập) vào ứng dụng. Hành động xác thực người dùng thường được thực hiện thông qua quy trình đăng nhập, trong đó người dùng sử dụng tổ hợp tên người dùng và mật khẩu để xác minh danh tính của mình với ứng dụng. Tính năng xác thực người dùng có thể được tích hợp vào một ứng dụng bằng tính năng Đăng nhập bằng Google.
- Xác thực ứng dụng
- Hành động của ứng dụng xác thực trực tiếp với các dịch vụ của Google thay mặt cho người dùng chạy ứng dụng. Việc xác thực ứng dụng thường được thực hiện bằng thông tin đăng nhập đã tạo sẵn trong mã của ứng dụng.
- Uỷ quyền
Các quyền hoặc " thẩm quyền" mà người dùng chính phải truy cập vào dữ liệu hoặc thực hiện các thao tác. Hành động uỷ quyền được thực hiện thông qua mã bạn viết trong ứng dụng của mình. Mã này thông báo cho người dùng rằng ứng dụng muốn thay mặt họ hành động và nếu được phép, ứng dụng sẽ dùng thông tin xác thực riêng của ứng dụng để lấy mã truy cập từ Google dùng để truy cập vào dữ liệu hoặc thực hiện thao tác.
- Thông tin xác thực
Một loại giấy tờ tuỳ thân dùng trong bảo mật phần mềm. Về mặt xác thực, thông tin xác thực thường là tổ hợp tên người dùng/mật khẩu. Trong điều khoản uỷ quyền cho API Google Workspace, thông tin xác thực thường là một số hình thức nhận dạng, chẳng hạn như chuỗi bí mật duy nhất, chỉ được biết giữa nhà phát triển ứng dụng và máy chủ xác thực. Google hỗ trợ những thông tin xác thực này: khoá API, mã ứng dụng khách OAuth 2.0 và tài khoản dịch vụ.
- Khoá API
- Thông tin đăng nhập dùng để yêu cầu quyền truy cập vào dữ liệu công khai, chẳng hạn như dữ liệu được cung cấp bằng API Maps hoặc tệp Google Workspace được chia sẻ thông qua chế độ cài đặt "Bất kỳ ai trên Internet có đường liên kết này" trong chế độ cài đặt cách chia sẻ của Google Workspace.
- Mã ứng dụng OAuth 2
- Thông tin đăng nhập dùng để yêu cầu quyền truy cập vào dữ liệu do người dùng sở hữu. Đây là thông tin xác thực chính được dùng khi yêu cầu quyền truy cập vào dữ liệu bằng các API Google Workspace. Thông tin xác thực này yêu cầu phải có sự đồng ý của người dùng.
- Mật khẩu ứng dụng
- Một chuỗi ký tự mà chỉ ứng dụng của bạn và máy chủ uỷ quyền mới biết. Mật khẩu ứng dụng khách bảo vệ dữ liệu của người dùng bằng cách chỉ cấp mã thông báo cho những người yêu cầu được uỷ quyền. Bạn không được đưa mật khẩu ứng dụng khách vào ứng dụng của mình.
- Khoá tài khoản dịch vụ
- Được các tài khoản dịch vụ sử dụng để nhận được sự ủy quyền cho một dịch vụ của Google.
- Tài khoản dịch vụ
- Thông tin xác thực dùng cho các hoạt động tương tác giữa các máy chủ, chẳng hạn như một ứng dụng không có khuôn mặt chạy như một quy trình để truy cập một số dữ liệu hoặc thực hiện một số thao tác. Tài khoản dịch vụ thường dùng để truy cập vào dữ liệu và hoạt động trên đám mây. Tuy nhiên, khi được sử dụng thông qua uỷ quyền trên toàn miền, bạn có thể dùng các quyền này để truy cập vào dữ liệu người dùng.
- Phạm vi
Chuỗi URI OAuth 2.0 xác định cấp truy cập vào tài nguyên hoặc thao tác được cấp cho ứng dụng. Đối với Google Workspace, URI phạm vi uỷ quyền có chứa tên ứng dụng Google Workspace, loại dữ liệu mà ứng dụng truy cập và cấp truy cập. Người dùng ứng dụng của bạn có thể xem xét các phạm vi được yêu cầu và chọn quyền truy cập cần cấp, sau đó máy chủ xác thực của Google sẽ trả về phạm vi được phép cho ứng dụng của bạn trong một mã truy cập. Để biết thêm thông tin, hãy tham khảo bài viết Cách chọn phạm vi cho ứng dụng.
- Máy chủ uỷ quyền
Máy chủ của Google để cấp quyền truy cập bằng mã truy cập vào dữ liệu và các thao tác được yêu cầu của ứng dụng.
- Mã uỷ quyền
Mã được gửi từ máy chủ uỷ quyền dùng để lấy mã truy cập. Bạn chỉ cần mã khi loại ứng dụng của bạn là ứng dụng máy chủ web hoặc ứng dụng đã cài đặt.
- Mã truy cập
Mã thông báo cấp quyền truy cập vào API Google Workspace. Một mã truy cập duy nhất có thể cấp quyền truy cập khác nhau cho nhiều API, gọi là phạm vi. Mã uỷ quyền của ứng dụng yêu cầu các mã truy cập và sử dụng chúng để gọi các API Google Workspace.
- Máy chủ tài nguyên
Máy chủ lưu trữ API mà ứng dụng của bạn muốn gọi.
- Khung OAuth 2.0
Tiêu chuẩn mà ứng dụng của bạn có thể sử dụng để cung cấp cho ứng dụng “quyền truy cập được ủy quyền an toàn” hoặc quyền truy cập vào dữ liệu và hoạt động thay mặt cho người dùng ứng dụng. Cơ chế xác thực và uỷ quyền mà bạn sử dụng trong ứng dụng thể hiện việc triển khai khung OAuth 2.0.
- Hiệu trưởng
Một thực thể, còn gọi là danh tính, có thể được cấp quyền truy cập vào một tài nguyên. API Google Workspace hỗ trợ hai loại tài khoản chính: tài khoản người dùng và tài khoản dịch vụ. Để biết thêm thông tin chi tiết, hãy tham khảo phần Tài khoản chính.
- Kiểu dữ liệu
Trong ngữ cảnh xác thực và uỷ quyền, loại dữ liệu đề cập đến thực thể sở hữu dữ liệu mà ứng dụng của bạn đang cố truy cập. Có ba loại dữ liệu:
- Dữ liệu thuộc phạm vi công cộng
- Dữ liệu mà bất kỳ ai cũng có thể truy cập được, chẳng hạn như một số dữ liệu trên Google Maps. Bạn thường có thể truy cập vào dữ liệu này bằng khoá API.
- Dữ liệu của người dùng cuối
- Dữ liệu thuộc về một nhóm hoặc người dùng cuối cụ thể, chẳng hạn như tệp trên Google Drive của một người dùng cụ thể. Loại dữ liệu này thường được truy cập bằng mã ứng dụng khách hoặc tài khoản dịch vụ OAuth 2.
- Dữ liệu trên đám mây
- Dữ liệu do một dự án Google Cloud sở hữu. Tài khoản dịch vụ thường truy cập loại dữ liệu này.
- Sự đồng ý của người dùng
Bước uỷ quyền yêu cầu người dùng ứng dụng uỷ quyền cho ứng dụng truy cập vào dữ liệu và thực hiện các thao tác thay mặt người dùng.
- Loại ứng dụng
Loại ứng dụng bạn sẽ tạo. Khi tạo thông tin xác thực bằng bảng điều khiển của Google Cloud, bạn sẽ được yêu cầu chọn loại ứng dụng của mình. Sau đây là các loại ứng dụng: Ứng dụng web (JavaScript), ứng dụng Android, Chrome, iOS, TV và thiết bị đầu vào giới hạn, Ứng dụng dành cho máy tính (còn gọi là "ứng dụng đã cài đặt") và Nền tảng Windows chung (UWP).
- Tài khoản dịch vụ
Một loại Tài khoản Google đặc biệt dùng để đại diện cho một người dùng không phải con người cần xác thực và được ủy quyền truy cập vào dữ liệu. Ứng dụng của bạn giả định danh tính của tài khoản dịch vụ để gọi các API của Google để người dùng không trực tiếp tham gia. Bản thân tài khoản dịch vụ không được sử dụng để truy cập vào dữ liệu người dùng; dữ liệu tuỳ chỉnh được truy cập tuỳ chỉnh bằng API Workspace. Tuy nhiên, tài khoản dịch vụ có thể truy cập vào dữ liệu người dùng bằng cách triển khai cơ chế uỷ quyền trên toàn miền. Để biết thêm thông tin, hãy tham khảo bài viết Tìm hiểu về tài khoản dịch vụ.
- Ủy quyền trên toàn miền
Tính năng quản trị có thể uỷ quyền cho một ứng dụng truy cập vào dữ liệu người dùng thay mặt người dùng trong tổ chức Google Workspace. Bạn có thể dùng tính năng uỷ quyền trên toàn miền để thực hiện các thao tác liên quan đến quản trị trên dữ liệu người dùng. Để uỷ quyền theo cách này, quản trị viên Google Workspace sử dụng tài khoản dịch vụ bằng OAuth 2.0. Do sức mạnh của tính năng này, chỉ quản trị viên cấp cao mới có thể ủy quyền trên toàn miền. Để biết thêm thông tin, hãy tham khảo bài viết Ủy quyền trên toàn miền cho một tài khoản dịch vụ.
Bước tiếp theo
Định cấu hình màn hình xin phép bằng OAuth của ứng dụng để đảm bảo người dùng có thể hiểu và phê duyệt quyền truy cập của ứng dụng vào dữ liệu của họ.