[英]How to attach UserDetails to Principal received from JWT token using Spring Oauth2
[英]Spring Keycloak - How to set principal from JWT access token
我已經在這大約一個星期了。
我有一個用例,我通過主體而不是標頭接收身份驗證令牌,因此 Keycloak 和 Spring 不會自動設置用戶。 (原因是,使用 websockets,我只能通過具有初始連接的主體發送身份驗證令牌)
我試過在 keycloak 之前攔截調用並將令牌從正文復制到標題,但這不起作用。
所以現在我想通過 keycloak 手動進行身份驗證(或者只是手動設置主體用戶)。 我可以訪問 JWT 訪問令牌,但從這里我不確定如何使用 keycloak 進行身份驗證。
有人有任何意見嗎?
由於有兩個 Keycloak 部件可以在這里發揮作用,我首先要澄清一下:
我有一個用例,我通過主體而不是標頭接收身份驗證令牌,因此 Keycloak 和 Spring 不會自動設置用戶。
Spring Security 5.1 附帶對基於 JWT 的訪問令牌的內置支持,因此您可能不需要使用 Keycloak Adapter 來完成您想要做的事情。
在使用 Spring Security 的內置支持時,可以配置DefaultBearerTokenResolver
來查看正文:
@Bean
public BearerTokenResolver bearerTokenResolver() {
DefaultBearerTokenResolver resolver =
new DefaultBearerTokenResolver();
resolver.setAllowFormEncodedBodyParameter(true);
return resolver;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.