gpt4 book ai didi

spring-security-oauth2 - 将oauth_client_details的additional_information中的数据添加到JWT

转载 作者:行者123 更新时间:2023-12-05 06:35:40 25 4
gpt4 key购买 nike

我正在从客户端注册服务中填写 oauth_client_details 表。我将一些 JSON 格式的数据放在 additional_information 字段中。

insert into oauth_client_details(client_id, client_secret, ..., additional_information) values
('app-client-id', 'app-client-secret', ..., '{"special-id":"abc-123"}');

我想将该数据存储在 JWT 中,但找不到访问它的方法。我看到它在 JdbcClientDetailsS​​ervice.loadClientByClientId 和相关的 RowMapper 中被加载和解析,但是当我的 token 增强器被调用时数据不存在:

static class MyTokenEnhancer implements TokenEnhancer {
@Override
public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
// accessToken.additionalInformation is an empty map here!
return accessToken;
}
}

流程中还有其他点可以访问 special-id 的值并将其注入(inject) JWT 吗?

最佳答案

我只能通过在 oauth_client_details 中添加一个自定义字段来解决这个问题,在 TokenEnhancer.enhance() 中再次加载详细记录(Spring 加载记录 6 次这一次,所以另一个无关紧要),然后像往常一样将我的自定义字段中的值添加到 JWT。

我本可以使用 additional_information 字段来存储我的自定义数据,但是我需要解析 JSON。我认为这样做没有意义。

关于spring-security-oauth2 - 将oauth_client_details的additional_information中的数据添加到JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49630323/

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