Truy cập các API được bảo vệ bằng OAuth 2.0
OAuth 2.0 là một framework ủy quyền cho phép người dùng cấp quyền cho các ứng dụng bên thứ ba truy cập dịch vụ thay mặt họ, loại bỏ nhu cầu nhập thông tin xác thực lặp lại trong khi vẫn bảo đảm tính bảo mật và linh hoạt.Hướng dẫn này minh họa cách debug API OAuth 2.0 bằng Apidog, sử dụng đăng nhập bằng tài khoản Google làm ví dụ thực tế.Tìm hiểu luồng OAuth 2.0#
Trong một kịch bản OAuth 2.0 điển hình:Client: Website hoặc ứng dụng của bạn
Authorization Server: Dịch vụ cung cấp xác thực (ví dụ: Google)
Resource Server: Dịch vụ lưu trữ các tài nguyên được bảo vệ
Điều kiện tiên quyết#
Trước khi kiểm thử API OAuth 2.0, hãy bảo đảm bạn có:Một OAuth client đã được đăng ký với authorization server (ví dụ: Google API Console Project)
Thông tin xác thực client ID và client secret
Các redirect URI đã được cấu hình
Nếu bạn chưa đăng ký Google API Console Project, hãy tham khảo tài liệu chính thức để tạo OAuth client mới. Luồng ủy quyền OAuth 2.0#
Bước 1: Yêu cầu người dùng ủy quyền#
Khi người dùng nhấp vào nút "Sign in with Google", website của bạn gửi m ột yêu cầu đến authorization server OAuth 2.0 của Google để xin quyền truy cập tài khoản Google của người dùng.Yêu cầu ủy quyền được gửi đến https://accounts.google.com/o/oauth2/v2/auth/ với các tham số sau:| Tham số | Bắt buộc | Mô tả |
|---|
client_id | Bắt buộc | Client ID cho ứng dụng của bạn từ trang Credentials của API Console |
redirect_uri | Bắt buộc | Nơi API server chuyển hướng người dùng sau khi ủy quyền. Phải khớp chính xác với một trong các redirect URI được ủy quyền trong cấu hình OAuth 2.0 client của bạn |
response_type | Bắt buộc | Đặt là code đối với ứng dụng web server để nhận authorization code |
scope | Bắt buộc | Danh sách các scope được phân tách bằng khoảng trắng, xác định các tài nguyên mà ứng dụng của bạn có thể truy cập thay mặt người dùng |
access_type | Khuyến nghị | online (mặc định) hoặc offline. Sử dụng offline nếu ứng dụng của bạn cần làm mới access token khi người dùng không hiện diện |
state | Khuyến nghị | Bất kỳ giá trị chuỗi nào dùng để duy trì trạng thái giữa yêu cầu ủy quyền của bạn và phản hồi của authorization server |
Bảng này hiển thị các tham số cơ bản mà Google OAuth 2.0 yêu cầu. Có nhiều tham số tùy chọn khác để tùy chỉnh trải nghiệm người dùng và bảo mật. Xem tài liệu chính thức để biết đầy đủ chi tiết. Bước 2: Người dùng cấp quyền ủy quyền#
Google hiển thị màn hình đồng ý yêu cầu quyền truy cập các tài nguyên đã chỉ định.Các kết quả có thể xảy ra:Người dùng chấp thuận: Google gửi authorization token đến web server của bạn
Người dùng từ chối: Google gửi thông báo lỗi đến web server của bạn
Bước 3: Trao đổi authorization code để lấy access token#
Sau khi người dùng cấp quyền, authorization code được bao gồm trong phản hồi. Phản hồi xuất hiện trong query string:# Error response
http://example.com/#error=access_denied&state=state_parameter_passthrough_value
# Success response
http://example.com/#state=state_parameter_passthrough_value&access_token=***&token_type=Bearer&expires_in=***&scope=email%20https://www.googleapis.com/auth/userinfo.email%20openid&authuser=0&prompt=consent
Trích xuất access token từ URL để sử dụng với các dịch vụ Google API khác.Bước 4: Truy cập tài nguyên được bảo vệ#
Sử dụng Openidconnect API làm ví dụ, bạn có thể truy cập thông tin tài khoản Google của người dùng bằng cách gửi một yêu cầu kèm access token.1.
Tạo một yêu cầu mới trong dự án Apidog của bạn
2.
Sử dụng URL: https://openidconnect.googleapis.com/v1/userinfo?access_token=ACCESS_TOKEN
3.
Thay thế ACCESS_TOKEN bằng token thực tế của bạn
Bước 5: Nhận thông tin người dùng#
Google xác minh tính hợp lệ của access token và xác định client đã được ủy quyền tương ứng.Các kết quả có thể xảy ra:Token hợp lệ: Google phản hồi với thông tin của người dùng
Token không hợp lệ/hết hạn: Google phản hồi với thông báo lỗi
Phản hồi API là một đối tượng JSON chứa thông tin tài khoản Google của người dùng, chẳng hạn như picture và email. Website của bạn có thể sử dụng dữ liệu này để tự động hiển thị hồ sơ của người dùng mà không cần nhập thủ công.Lợi ích của việc sử dụng Apidog để kiểm thử OAuth 2.0#
Sử dụng Apidog để debug API OAuth 2.0 mang lại:Khả năng quan sát rõ ràng đối với các tham số mà các quy trình upstream và downstream yêu cầu
Trải nghiệm phát triển được tối ưu hóa với quản lý tham số trực quan
Xác thực workflow trước khi viết mã
Giảm thời gian debug trong quá trình triển khai
Sau khi workflow hoàn chỉnh được thực thi thành công trong Apidog, các backend developer có thể tự tin viết mã để hoàn tất quy trình nghiệp vụ mà không cần xác minh trong khi phát triển.Tài liệu tham khảo#
📄 Mã nguồn trang web ví dụ
Modified at 2026-06-11 10:23:06