Cách tạo Client Secret trong Google Cloud với OAuth 2.0

Trong quá trình sử dụng các API của Google, bạn sẽ cần một file client_secret.json để có thể xác thực tài khoản Google của bạn. Bài viết này sẽ hướng dẫn bạn từng bước tạo Client Secret trong Google Cloud, từ việc tạo dự án, đến cấu hình OAuth consent screen, đến tạo OAuth Client ID và có được file Client Secret dạng JSON. Nội dung hướng đến người sử dụng Google API là chính, nên sẽ không bao gồm các bước xét duyệt như nhà phát triển ứng dụng. Kết quả sẽ giúp bạn sẵn sàng để sử dụng các thư viện Python như google-auth, google-api-python-client hoặc simple-drive một cách mượt mà.

Client Secret là gì?

Client Secret là một chuỗi ký tự duy nhất và ngẫu nhiên được tạo ra khi bạn đăng ký một ứng dụng (còn gọi là client) để truy cập vào các dịch vụ của Google Cloud Platform (GCP). Chuỗi ký tự này đóng vai trò như một “chìa khóa bảo mật,” giúp xác thực ứng dụng của bạn với Google, đảm bảo chỉ ứng dụng của bạn mới có quyền truy cập vào các tài nguyên được cấp phép. Client Secret sẽ đi kèm với một OAuth Client ID của nó.

Tại sao Client Secret quan trọng?

  • Bảo mật: Client Secret bảo vệ tài khoản và dữ liệu của bạn khỏi truy cập trái phép.
  • Xác thực: Là thành phần thiết yếu trong xác thực OAuth 2.0, đảm bảo ứng dụng của bạn được nhận diện an toàn.
  • Quản lý quyền truy cập: Dùng Client Secret để kiểm soát quyền truy cập của ứng dụng với các tài nguyên Google Cloud.

Khi nào cần Client Secret?

  • Sử dụng API: Mỗi khi ứng dụng gọi các API Google Cloud để thực hiện các tác vụ như đọc, ghi hoặc xóa dữ liệu, Client Secret sẽ xác thực yêu cầu.
  • Quy trình OAuth 2.0: Client Secret là chìa khóa an toàn để người dùng cấp quyền truy cập vào tài khoản Google của họ cho ứng dụng của bạn.

Tạo Client Secret

Bước 1: Tạo một Project trên Google Cloud. Hãy truy cập console.cloud.google.com/projectcreate để tạo một Project mới.

Điền thông tin để tạo Project
Điền thông tin để tạo Project

Bước 2: Truy cập trang OAuth consent screen. Bạn cần phải cấu hình OAuth consent screen trước khi tạo Client Secret.

Cấu hình OAuth consent screen
Cấu hình OAuth consent screen

Bước 3: Chọn User Type. Dựa vào mô tả dưới đây, hãy chọn User Type phù hợp với mục đích của bạn. Ví dụ: Sử dụng với Python trong phạm vi cá nhân thì chọn External.

  • External: Nếu bạn chỉ dùng Google API cho cá nhân (không cần xét duyệt) hoặc phát một triển ứng dụng công khai (cần xét duyệt).
  • Internal: Nếu bạn đang phát triển một ứng dụng cho công ty đang sử dụng Google Workspace. Không cần xét duyệt.
Mục đích cá nhân có thể chọn User Type là External
Mục đích cá nhân có thể chọn User Type là External

Bước 4: Điền các công tin thiết yếu cho ứng dụng. Vì không cần xét duyệt ứng dụng, bạn chỉ cần điền các thông tin bắt buộc (có đánh dấu sao).

  • App name: Một tên bất kỳ.
  • User support email: Điền email của bạn.
  • Developer contact information: Điền email của bạn.
Điền các thông tin bắt buộc cho ứng dụng
Điền các thông tin bắt buộc cho ứng dụng

Những phần còn lại cứ để trống, nó chỉ dùng khi bạn cần xét duyệt một ứng dụng công khai.

Bỏ qua các thông tin khác khi không cần xét duyệt
Bỏ qua các thông tin khác khi không cần xét duyệt

Bước 5: Chọn Scopes cho ứng dụng của bạn. Nhấp nút ADD OR REMOVE SCOPES để thêm các quyền sử dụng API mà bạn cần. Ví dụ: Mục đích của bạn là sử dụng Google Drive API trong Python, hãy tìm “Google Drive API” và tích chọn từng quyền mà bạn cần. Nếu bạn chỉ dùng trong phạm vi cá nhân thì cứ chọn tất cả cho nhẹ đầu.

Chọn các scope mà bạn cần cho API
Chọn các scope mà bạn cần cho API

Nhà phát triển ứng dụng công khai sẽ phải gửi xét duyệt cho các scope nhạy cảm. Còn cá nhân và tổ chức sử dụng Google Workspace thì không cần.

Mình từng xét duyệt cho vài ứng dụng web, đây là kinh nghiệm của mình dành cho bạn nào muốn tham khảo.

  • Các thông tin phải điền đầy đủ.
  • Chỉ chọn các scope thực sự cần thiết.
  • Soạn mô tả lý do vì sao cần quyền đó, người dùng sẽ dùng ứng dụng như thế nào, càng chi tiết càng tốt.
  • Chuẩn bị một video quay lại cách mà người dùng sử dụng quyền đó.
  • Chuẩn bị một tài khoản thử nghiệm trên ứng dụng để đội kiểm duyệt Google thử nghiệm.
  • Nếu thứ phù hợp thì được duyệt, chưa thì phải gửi duyệt lại với mô tả kỹ hơn, video kỹ hơn.
  • Mất từ một đến vài tuần để xét duyệt một scope, nhưng có thể xét duyệt nhiều scope cùng một lúc.
Chỉ có nhà phát triển ứng dụng công khai mới cân nhắc từng scope vì phải xét duyệt
Chỉ có nhà phát triển ứng dụng công khai mới cân nhắc từng scope vì phải xét duyệt

Bước 6: Thêm các email được phép sử dụng ứng dụng ở dạng thử nghiệm. Bước này quan trọng đối với mục đích cá nhân, vì ứng dụng không xét duyệt công khai thì chỉ có thể sử dụng ở dạng thử nghiệm.

Các email được sử dụng ứng dụng ở dạng testing
Các email được sử dụng ứng dụng ở dạng testing

Bước 7: Hoàn thành cấu hình OAuth consent screen. Kiểm tra lại các thông tin rồi quay trở lại trang dashboard.

Cấu hình OAuth consent screen trong Google Cloud
Cấu hình OAuth consent screen trong Google Cloud

Bước 8: Tạo Client Secret thông qua OAuth client ID. Vào Credentials, nhấp nút CREATE CREDENTIALS, chọn OAuth client ID.

Tạo Client Secret với OAuth Client ID
Tạo Client Secret với OAuth Client ID

Bước 9: Chọn Application type và điền tên client ID. Dưới đây các type đang được hỗ trợ.

Các type dành phạm vi sử dụng Google API cá nhân:

  • Desktop app: Đơn giản cho mục đích sử dụng Google API. Ví dụ: Mục đích tạo Client Secret của bạn là để dùng cho các thư viện trong Python.
  • Web application: Có thể chọn nếu ứng dụng của bạn có hướng dẫn điền Authorized JavaScript originsAuthorized redirect URIs. Ví dụ: Một số plugin của website cần type này và họ sẽ hướng dẫn bạn điền phần này.

Các type dành cho nhát phát triển ứng dụng: Bao gồm các type kể trên và các type dưới đây.

  • Android.
  • Chrome Extension.
  • iOS.
  • TVs and Limited Input devices.
  • Universal Windows Platform (UWP).
Chọn App type và điền name để tạo Client Secret trong Google Cloud Console
Chọn App type và điền name để tạo Client Secret trong Google Cloud Console

Bước 10: Tải xuống file Client Secret JSON. Nhấp nút DOWNLOAD JSON để tải.

Tải Client Secret từ Google Cloud Console
Tải Client Secret từ Google Cloud Console

Bật API cho dự án

Sau khi đã tạo Client Secret và Client ID trong Google Cloud. Bạn cần phải bật API trong Google Cloud thì mới sử dụng được các API.

Lưu ý bảo mật cho Client Secret

  1. Không lưu trữ Client Secret trong mã nguồn công khai: Tránh commit Client Secret vào kho lưu trữ công khai (như GitHub) nếu sử dụng hệ thống kiểm soát phiên bản.
  2. Dùng biến môi trường hoặc tệp cấu hình bí mật: Lưu trữ Client Secret trong biến môi trường hoặc tệp .env để tăng cường bảo mật.
  3. Định kỳ tạo mới Client Secret: Nếu Client Secret bị lộ hoặc có nguy cơ rủi ro, hãy tạo mới và cập nhật cấu hình ứng dụng.

Lời kết

Qua hướng dẫn trên, bạn đã nắm vững quy trình tạo Client Secret cũng như cấu hình OAuth consent screen trong Google Cloud cho mục đích sử dụng Google API cá nhân hoặc tổ chức có sử dụng Google Workspace. Đừng quên giữ bí mật thông tin Client Secret để tránh rủi ro về dữ liệu. Bây giờ, bạn đã có thể khai thác tối đa các dịch vụ từ Google Cloud để mang lại hiệu suất công việc tốt hơn.

Bài viết liên quan

Trần Ngọc Minh Hiếu

Trần Ngọc Minh Hiếu

Mình hiện đang làm Data Analyst, trước đó từng làm Digital Marketing. Viết blog là một niềm vui của mình, giúp mình chia sẻ lại những kiến thức và trải nghiệm từ cuộc sống và công việc. Bạn có thể donate cho mình tại đây.

2 bình luận về “Cách tạo Client Secret trong Google Cloud với OAuth 2.0”

Viết một bình luận

Hãy thoải mái để lại bình luận của bạn, chúng tôi sẽ kiểm duyệt và phản hồi trong thời gian sớm nhất. Vui lòng sử dụng email thật để đảm bảo bình luận được duyệt và nhận thông báo khi chúng tôi trả lời. Bạn cũng có thể thêm ảnh đại diện cho email của mình.