gpt4 book ai didi

java - 如何使用 Spring Boot Security 从 facebook 获取访问 token

转载 作者:行者123 更新时间:2023-12-02 10:05:45 25 4
gpt4 key购买 nike

我必须使用 spring security 从 facebook 获取访问 token ,我有以下 HTTP 配置代码

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/**")
.authorizeRequests()
.antMatchers("/", "/login**", "/webjars/**")
.permitAll()
.anyRequest()
.authenticated().and().exceptionHandling().authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/"))
.and().logout().logoutSuccessUrl("/").permitAll()
.and().csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.and().addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
}

此外,我可以在登录 Facebook 后获得本金。但我需要获取登录的用户访问 token 。

这些是我用于 Spring Boot 安全性的依赖项,

    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
implementation 'org.springframework.boot:spring-boot-starter-security'
compile group: 'org.springframework.security.oauth.boot', name: 'spring-security-oauth2-autoconfigure', version: '2.1.3.RELEASE'

这是我正在使用的过滤器,

private Filter ssoFilter() {
OAuth2ClientAuthenticationProcessingFilter facebookFilter = new OAuth2ClientAuthenticationProcessingFilter("/login/facebook");
OAuth2RestTemplate facebookTemplate = new OAuth2RestTemplate(facebook(), oauth2ClientContext);
facebookFilter.setRestTemplate(facebookTemplate);
UserInfoTokenServices tokenServices = new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId());

tokenServices.setRestTemplate(facebookTemplate);
facebookFilter.setTokenServices(tokenServices);

return facebookFilter;
}

有没有办法使用 Spring Boot Security 获取访问 token

最佳答案

如果 facebook 与 spring security 的集成正确,您可以注入(inject):

@Autowired
OAuth2ClientContext oAuth2ClientContext;

并使用此对象获取 token :

oAuth2ClientContext.getAccessToken().getValue();

关于java - 如何使用 Spring Boot Security 从 facebook 获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55350384/

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