如何使用 Google 的 OpenId 在 OAS3 规范中描述端点的安全模式?

How to describe in a OAS3 spec the security schema of a endpoints using Google's OpenId?

我正在构建的应用程序正在使用 AuthorizationCode 和 Google OpenId 的 PKCE。 用户认证后,应用程序将发送AccessToken给后端服务器进行自我认证,同时发送IdToken以获取用户数据。

但如果我没记错的话,服务器还需要使用 ClientCredentials 流程向 Google 验证自己的身份,以便代表用户检索数据。

我应该如何在 OAS3 规范中指定它?

端点是否应该同时具有 OpenID 和 OAuth2?

API文档

对于像 Swagger 这样的 API 规范来说,通常只关注调用客户端对 API 的看法,而不是内部实现细节:

  • 只需指出 API 需要不记名令牌并受 OAuth 2.0
  • 保护

随着时间的推移,您的 API 可以支持多个客户端,使用不同的客户端流程来获取令牌,例如:

  • 真实 UI 使用授权代码流 (PKCE)
  • 自动化测试可能会使用更简单的方法,例如资源所有者密码授予

开始 GUIDE

如果您需要总结客户端身份验证流程,我会将其放在单独的文档中,因为这不是 API 的关注点。

通常在 'Getting Started' 指南中为需要联系的人提供此类概述。并涵盖令牌到期、错误响应、环境等方面。

我的方法

我总是提供以上两个文档。我可以向客户传达他们的需求,而不必过多依赖 Swagger UI 等工具,这些工具通常无法满足我们的需求。