Spring Security spring-authorization-server和用户详细信息中的电子邮件地址

rqqzpn5f  于 2023-01-20  发布在  Spring
关注(0)|答案(1)|浏览(172)

因此,在与spring-authorization-server斗争之后,它现在主要在oauth2-proxy后面工作。
现在最后一个问题是,oauth2-proxy不满意,在流期间没有提供电子邮件地址。
但是我还没有在文档中找到任何关于如何提供电子邮件地址的内容。用户详细信息服务看起来就像下面这样简单。
所以如果有人能给予我一个如何为oauth2添加电子邮件的想法...那就太好了

@Bean
    public UserDetailsService userDetailsService() {

        UserDetails userDetails = User.withDefaultPasswordEncoder()
                .username("user1")
                .password("user1")
                .roles("USER")
                //.authorities(authority)
                .build();

        return new InMemoryUserDetailsManager(userDetails);
    }

我希望可以添加电子邮件地址

3htmauhk

3htmauhk1#

对于任何偶然发现这些问题的人,有一个很好的博客文章描述了解决方案:
https://www.appsdeveloperblog.com/add-roles-to-jwt-issued-by-new-spring-authorization-server/
相当简单。在我的例子中,就像下面的代码一样简单,让Oauth2Proxy工作。当然,这只是为了测试

@Bean
OAuth2TokenCustomizer<JwtEncodingContext> jwtCustomizer() {
    return context -> {
            context.getClaims().claim("email", "user1@user1.de");
    };
}

相关问题