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

Spring Key斗篷-如何从JWT访问令牌设置主体

巴洲
2023-03-14

我已经做了大约一个星期了。

我有一个用例,我通过主体而不是标题接收身份验证令牌,并且由于keybeapt和Spring不会自动设置用户。(原因是,对于WebSocket,我只能通过具有初始连接的主体发送身份验证令牌)

我尝试在keycloak之前拦截调用并将令牌从正文复制到标头,但这不起作用。

所以现在我想通过keydepeat手动进行身份验证(或者只是手动设置主要用户)。我可以访问JWT访问令牌,但在这里我不确定如何使用keydepeat进行身份验证。

有人有意见吗?

共有1个答案

拓拔富
2023-03-14

因为这里可能有两件钥匙斗篷,我首先要澄清一下:

  • Keycloak-这是客户端用于获取JWT的授权服务器
  • 密钥斗篷适配器-这是配置资源服务器以将密钥斗篷与Spring Security集成的东西

我有一个用例,我通过主体而不是标题接收身份验证令牌,并且由于keybeapt和Spring不会自动设置用户。

Spring Security 5.1提供了对基于JWT的访问令牌的内置支持,因此您可能不需要使用密钥斗篷适配器来执行您想要执行的操作。

使用Spring Security的内置支持时,您可以将DefaultBearerTokenResolver配置为在正文中查看:

@Bean
public BearerTokenResolver bearerTokenResolver() {
    DefaultBearerTokenResolver resolver =
            new DefaultBearerTokenResolver();
    resolver.setAllowFormEncodedBodyParameter(true);
    return resolver;
}
 类似资料:
  • 使用KeyCloak时,访问令牌与用户信息令牌有何不同? 从OAuth2/OpenIDConnect中,我了解到访问令牌提供了用户已经通过身份验证的信息,您需要使用用户信息令牌来获取关于用户及其配置文件/角色等的更多信息。 当我看到访问令牌时https://jwt.io/而不是用户信息令牌。我能够获得与用户配置文件相同的信息 为什么会这样,使用Keycloak时访问令牌与用户信息令牌有何不同?

  • 我很难让Auth0以JWT格式返回访问令牌。我需要JWT格式的文件,以便使用javajwt库验证它们。 我正在使用Auth0登录,并使用获取访问令牌-我尝试将访问群体设置为我们的API标识符(在多个位置,包括lock auth参数和负载),但没有成功-返回访问令牌,但不是JWT。 或者,是否有用于验证“本机”Auth0访问令牌的Java库? 返回的代码用于POST到

  • 我试图通过查询/tokenendpoint从另一个应用程序中检索spring boot应用程序中的azure JWT访问令牌,但我收到的令牌似乎不正确。 该项目有一个spring boot后端和一个Eclipse rcp前端。我正在尝试从eclipse前端检索访问令牌。对此,我有下面的控制器: 返回具有以下格式的令牌: 使用具有以下相关依赖关系的spring boot构建: v2.2.4 V2.2

  • 我最近在Primefaces Spring Boot Web应用程序中实现了KeyClope。除了一件事之外,这一切都非常有效:在KeyClope中“访问令牌寿命”下设置的任何内容之后,Ajax请求“超时”。没有重定向。ajaxStatus永远不会结束,用户被迫重新加载页面。看看这个请求,我得到了401“未经授权”。 例如,用户加载一个站点并做他想做的任何事情。在没有重新加载或导航到另一个页面的情

  • 我们使用nginx服务器进行反向代理,并安装了openresty openid lua....这意味着每个请求都有一个 现在,我们需要做的是解码访问令牌,因为我需要来自JWT令牌的sub,并将其登录到nginx服务器上。 有办法解码并记录JWT吗?我查看了openidc.lua文件,可以看到它解码了id令牌,但是我看不到哪里可以解码访问令牌。 任何帮助都将不胜感激。

  • 这是我的身份验证流程: 用户登录后收到两个令牌(具有过期时间的访问令牌和没有过期时间的刷新令牌) 对于每个用户,刷新令牌存储在数据库中名为refreshTokens的json列中(这是一个数组) 在客户端,访问令牌和刷新令牌都存储在本地存储器上 当需要验证用户时,如果访问令牌过期,将使用刷新令牌创建一个新的访问令牌,并将其发送回用户并保持用户登录 当用户注销时,数据库中存储的刷新令牌(在refre