gpt4 book ai didi

Spring Keycloak - 如何从 JWT 访问 token 设置主体

转载 作者:行者123 更新时间:2023-12-05 06:20:44 24 4
gpt4 key购买 nike

我已经在这里工作了大约一个星期了。

我有一个用例,我通过正文而不是 header 接收身份验证 token ,因此 Keycloak 和 Spring 不会自动设置用户。 (原因是,对于 websockets,我只能通过初始连接通过正文发送身份验证 token )

我试过在 keycloak 之前拦截调用并将 token 从正文复制到 header ,但这没有用。

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

有人有意见吗?

最佳答案

由于这里可能有两个 Keycloak 组件,我将从澄清开始:

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

I have a use case where I recieve an auth token through the body instead of the header, and because of that Keycloak and Spring don't automatically set the user.

Spring Security 5.1 ships with built-in support对于基于 JWT 的访问 token ,因此您可能不需要使用 Keycloak 适配器来完成您想要做的事情。

当使用 Spring Security 的内置支持时,您可以配置 DefaultBearerTokenResolver 来查看正文:

@Bean
public BearerTokenResolver bearerTokenResolver() {
DefaultBearerTokenResolver resolver =
new DefaultBearerTokenResolver();
resolver.setAllowFormEncodedBodyParameter(true);
return resolver;
}

关于Spring Keycloak - 如何从 JWT 访问 token 设置主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com