当前位置: 首页 > 知识库问答 >
问题:

为什么Swagger规范没有为OAuth2身份验证提供clientId?

余弘新
2023-03-14

我正在开发一个应用程序,它提取其他应用程序的Swagger规范并为它们推断一个UI,具有与API交互所需的所有功能。

现在,我在尝试实现OAuth2身份验证时遇到了一个问题。使用OAuth2,您始终需要注册的cientId才能获得访问令牌。问题在于,swagger规范不需要在OAuth2安全定义中提供clientId。

这意味着clientId应该在用户想要访问的任何OAuth2服务器中为我自己的应用程序注册,并为我的应用程序获取数据,而不是为我的用户的应用程序获取数据。当然,这不是我的应用程序应该工作的方式,因为它应该维护用户的应用程序标识。

我的问题是:

是否应将clientId添加到OAuth2定义中?

是否可以实现我需要的功能,而不必为我的用户想要访问的所有OAuth2服务器注册我的应用程序?

也许我错过了什么,任何帮助将不胜感激!

谢谢你

共有1个答案

云煌
2023-03-14

我不认为ClientID定义的一部分——它通常是提供给特定实现以连接到服务的凭据的一部分。因此,每个集成都将是不同的“客户端”,因此是不同的ClientID

 类似资料:
  • 我无法理解服务提供者的入站身份验证配置和身份提供者的联合身份验证器配置之间的区别。 我添加了新的服务提供者并配置了SAML入站身份验证配置 我使用dashboard添加了一个新用户 我在tomcat上部署了一个web应用程序(travelocity),作为向IS服务器请求SAML身份验证的服务提供商 当我单击travelocity的SAML登录链接时,它将转发到IS服务器的登录页面 我插入用户/密

  • 我试图理解为什么JWT认证是无状态的。在有状态认证中,会有一个会话id。这里有一张JWT的代币,上面有签名。所以身份验证服务器发布JWT令牌,但是我可以说后续请求中JWT令牌的验证是由endpoint服务器(应用服务器)而不是身份验证服务器来完成的吗?我相信这是可能的,因为JWT是用截止日期(还有一些其他信息)签名的,并且认证服务器的公共证书对所有endpoint服务器都是可用的。 因此,认证服务

  • 我正在尝试开发一个可以与REST API一起使用的服务器后端。我想提供一个endpoint,用户在那里通过请求发送用户名和密码。在数据库中查找userdata,如果用户是有效的,则创建一个JWT令牌并通过响应发送到客户端。 对于查找,我希望使用spring Security附带的jdbc身份验证。为jdbc身份验证提供数据的正确方式是什么?我必须在请求头中写入用户名和密码吗?还是可以使用http基

  • iam试图验证一些可能包含swagger规范的字符串。我正在尝试使用swagger解析器。 以下代码不起作用。我只收到消息:“[属性不是]类型” swagger规范是从xml文件中读出的。 这个方法是错误的吗?或者。错误消息的含义是什么?我只想知道字符串是否包含JSON格式的有效Swagger规范。 谢谢你的帮助。 更新:问题已解决 据我所知,如果字符串不是json有效的,就会抛出错误。首先我检查

  • 我正在尝试使用OAuth2实现开发一个带有Spring Security性的rest api。但是如何删除基本身份验证呢。我只想向body发送用户名和密码,并在postman上获取令牌。 要删除基本身份验证,并从邮递员的get token中发送body标记中的用户名密码吗 我遇到了一些问题{"错误":"未经授权","error_description":"没有客户端身份验证。尝试添加适当的身份验证

  • 尝试将ember应用程序连接到oauth2身份验证服务时,获得一个[error=“unauthorized”,error_description=“访问此资源需要完全身份验证”]。如有任何建议,我们将不胜感激。我花了几天时间想解决这个问题,但没有效果。 下面是app.js中的代码