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

Spring Security OAuth-它可以使用KeyClope中的JWT令牌吗

周和志
2023-03-14

在Spring Security OAuth中,它可以使用/使用从使用Keycloak进行身份验证的用户生成的JWT令牌吗?就此而言,Keycloak是开放ID,但它们似乎都非常相似。我仍在尝试理解分界线以及与此相似或相同的地方。

基本上,我希望在REST客户机中单独进行身份验证,然后使用授权标头中的令牌对一些web服务进行REST调用。在Spring Security OAuth中似乎有一些JWT的东西,所以我想知道我实际上可以用它来代替Keyclope Spring的东西吗?有这样的例子吗?(我希望在控制器中的不同方法上使用Spring Security检查)

共有1个答案

牟黎昕
2023-03-14

您可以使用Keyclope-Spring适配器,并且仍然依赖Spring Security注释来实现控制器安全性。keydropeat-Spring适配器的主要目的是简化与keydropeat的集成,以实现交互式登录,并将JWT访问令牌声明正确映射到Spring Security认证上下文中。

通过阅读Spring Security OAuth2文档,我得到的印象是,它还没有完全准备好处理OpenID连接JWT访问令牌。然而,它是可定制的,因此最有可能实现。

我现在的建议是,如果您使用keydepeat作为您的OIDC服务器,请坚持使用keydepeat-Spring适配器。它将节省您的时间,并经过KeyClope的充分测试。

 类似资料:
  • 我有一个Spring-Boot-keydeport项目,我发现Spring-Boot不能用keydeport验证JWT。例如,如果我从keydepeat获得一个令牌并关闭keydepeat,我仍然可以使用这个JWT令牌访问我的endpoint。我有这个安全配置程序类: “converter”没有什么特别的,只是从JWT令牌中提取角色并返回它们的列表。 如何强制Spring Security性验证J

  • 后端服务器有一个endpoint,在ping时提供JSON响应,并受Apigee边缘代理的保护。目前,该endpoint没有安全性,我们希望为发出请求的所有客户端实现仅承载令牌身份验证。所有向API发出请求的客户端都将在授权承载中发送JWT令牌,Apigee Edge将用于验证JWT令牌。 我如何使用keydape生成这个JWT令牌? 此外,Apigee还需要一个JWT令牌来源的公钥(签署JWT令

  • 据我所知,OAuth 2.0规范在访问令牌应该采取什么形式方面非常模糊: 令牌可以表示用于检索授权信息的标识符,或者可以以可验证的方式自包含授权信息(即,由一些数据和签名组成的令牌字符串)。为了让客户端使用令牌,可能需要额外的身份验证凭据,这些凭据超出了本规范的范围。 访问令牌提供了一个抽象层,将不同的授权构造(例如用户名和密码)替换为资源服务器可以理解的单个令牌。这种抽象使得发布访问令牌比用于获

  • 我从KeyCloak获得签名的JWT令牌: 因此,访问令牌是: 我查询keydove的: 因此,公钥是: 现在,我尝试按如下方式进行脱机验证: 但我得到一个无效的密钥例外: 我需要公钥对象来验证访问令牌,如下所示: 怎么了?我看到了很多这段代码的例子,所以我怀疑问题出在密钥本身。

  • 如果Vault可以解析授权头并自动将我登录,而不是显示Vault登录屏幕,这将是非常方便的--这可能吗? 我知道Vault支持Authorization头中的Vault令牌,但由于我使用这个JWT访问其他仪表板,因此Vault也可以解释它。

  • 我已经在Oauth2框架中实现了JWT令牌。在实现之后,我想到的查询很少,如下所示: 1.在实现JWT之前,每当用户以相应的访问令牌作为载体访问资源服务器中的API,资源服务器就使用user-info-uriendpoint与auth服务器进行检查,如下所示 在JWT实现之后,我认为资源服务器和auth服务器之间不会发生检查调用,而是使用公钥验证JWT令牌的签名。但是,在获得JWT令牌之后,为了检