如何在 Spring Security 中将令牌转换为身份验证?
Posted
技术标签:
【中文标题】如何在 Spring Security 中将令牌转换为身份验证?【英文标题】:How to convert token to Authentication in spring security? 【发布时间】:2022-01-01 13:51:27 【问题描述】:我使用 keycloak 作为 Idp。我使用 keycloak 客户端从 keycloak 获取 jwt 令牌。
当我使用令牌调用由keycloak-spring-security-adapter
和spring-security
提供的springboot 应用程序中的api 时。我发现 KeycloakAuthenticationFilter 可以从SecurityContext
得到Authentication
。
为什么?在哪里将令牌转换为身份验证并将其放入SecurityContext
?
【问题讨论】:
【参考方案1】:当使用keycloak token调用rest api时,KeycloakAuthenticationFilter会去auth。
使用令牌通过验证器进行验证
在authenticator中,会验证token,如果成功,会放到SecurityContext中。
-
但如何放入 SecurityContext 有一些变体
你可以点赞看看如何完成这一步。
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何在 Spring Security 中将令牌转换为身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何在spring security oauth2中分离访问令牌和刷新令牌端点
如何在 Spring Security 中测试 AuthenticationPrincipal 并获取 ID 令牌?
如何在 Spring Security 中使用 LDAP 身份验证创建令牌
如何在 Spring WebFlux Security(Reactive Spring Security)配置中将多个用户角色添加到单个 pathMatcher/Route?
如何使用 Spring boot keycloak 适配器 + spring security 强制更新 oAuth 令牌(访问令牌 + 刷新令牌)。?