OAuth 2.0 是一个授权框架,允许用户授予第三方应用代表其访问服务的权限,从而无需反复输入凭据,同时确保安全性和灵活性。本指南演示如何使用 Apidog 调试 OAuth 2.0 API,并以 Google 账号登录作为实际示例。了解 OAuth 2.0 流程#
授权服务器:提供身份验证的服务(例如 Google)
前提条件#
在测试 OAuth 2.0 API 之前,请确保你具备:已在授权服务器注册的 OAuth 客户端(例如 Google API Console Project)
Client ID 和 client secret 凭据
如果你尚未注册 Google API Console Project,请参考官方文档创建新的 OAuth 客户端。 OAuth 2.0 授权流程#
步骤 1:请求用户授权#
当用户点击“Sign in with Google”按钮时,你的网站会向 Google 的 OAuth 2.0 授权服务器发送请求,以获取访问用户 Google 账号的权限。授权请求会发送到 https://accounts.google.com/o/oauth2/v2/auth/,并包含以下参数:| 参数 | 必填 | 描述 |
|---|
client_id | 必填 | 来自 API Console Credentials 页面的应用程序客户端 ID |
redirect_uri | 必填 | API 服务器在授权后将用户重定向到的位置。必须与你的 OAuth 2.0 客户端配置中某个已授权的重定向 URI 完全匹配 |
response_type | 必填 | 对于 Web 服务器应用程序,设置为 code 以接收授权码 |
scope | 必填 | 以空格分隔的范围列表,用于标识你的应用程序可以代表用户访问的资源 |
access_type | 推荐 | online(默认)或 offline。如果你的应用程序需要在用户不在场时刷新访问令牌,请使用 offline |
state | 推荐 | 任意字符串值,用于在授权请求和授权服务器响应之间保持状态 |
此表显示了 Google OAuth 2.0 所需的基本参数。还有许多其他可选参数可用于自定义用户体验和安全性。完整详情请参阅官方文档。 步骤 2:用户授予授权#
Google 会显示一个同意屏幕,请求访问指定资源的权限。用户批准:Google 向你的 Web 服务器发送授权令牌
用户拒绝:Google 向你的 Web 服务器发送错误消息
步骤 3:用授权码交换访问令牌#
用户授予权限后,授权码会包含在响应中。响应会出现在查询字符串中:# 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
从 URL 中提取访问令牌,以便与其他 Google API 服务一起使用。步骤 4:访问受保护资源#
以 Openidconnect API 为例,你可以通过发送带有访问令牌的请求来访问用户的 Google 账号信息。2.
使用 URL:https://openidconnect.googleapis.com/v1/userinfo?access_token=ACCESS_TOKEN
步骤 5:接收用户信息#
Google 会验证访问令牌的有效性,并确定关联的已授权客户端。API 响应是一个 JSON 对象,其中包含用户的 Google 账号信息,例如 picture 和 email。你的网站可以使用这些数据自动显示用户的个人资料,而无需手动输入。使用 Apidog 进行 OAuth 2.0 测试的优势#
使用 Apidog 调试 OAuth 2.0 API 可以提供:一旦完整工作流在 Apidog 中成功执行,后端开发人员就可以放心地编写代码来完成业务流程,而无需在开发过程中反复验证。参考资料#
📄 示例网页源代码
Modified at 2026-06-09 08:55:47