问题描述
我正在构建的应用程序正在使用AuthorizationCode和Google OpenId的PKCE。 在用户身份验证之后,该应用程序将向后端服务器发送AccessToken进行身份验证,并发送IdToken以便检索用户数据。
但是,如果我没记错的话,服务器还需要使用ClientCredentials流向Google进行身份验证,以便代表用户检索数据。
如何在OAS3规范中指定?
端点应同时具有OpenID和OAuth2吗?
解决方法
API DOCS
通常,诸如Swagger之类的API规范只关注调用客户端对API的看法,而不关注内部实现细节:
- 仅表明该API需要承载令牌并由OAuth 2.0保护
随着时间的推移,您的API可以支持多个客户端,并且使用不同的客户端流程来获取令牌,例如:
- Real UI使用授权码流(PKCE)
- 自动测试可能使用更简单的方法,例如“资源所有者密码授予”
入门指南
如果您需要总结客户端身份验证流程,我将其放在单独的文档中,因为这与API无关。
通常,在“入门”指南中为需要联系的人们提供这种概述。并涵盖令牌到期,错误响应,环境等方面。
我的方法
我总是提供上述两个文档。我可以向客户传达他们的需求,而不必过多依赖Swagger UI之类的工具,而这些工具通常无法满足我们的需求。