首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用spring引导安全性从facebook获取访问令牌

如何使用spring引导安全性从facebook获取访问令牌
EN

Stack Overflow用户
提问于 2019-03-26 05:28:03
回答 1查看 923关注 0票数 0

我必须使用spring安全性从facebook获取访问令牌,下面是HTTP配置的代码

代码语言:javascript
运行
复制
@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后得到校长。但我需要获得登录用户访问令牌。

这些是我用于spring引导安全性的依赖项,

代码语言:javascript
运行
复制
    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'

这是我用的过滤器,

代码语言:javascript
运行
复制
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引导安全性来获取访问令牌吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-08 16:08:41

如果facebook与spring安全的集成是正确的,您可以注入:

代码语言:javascript
运行
复制
@Autowired
OAuth2ClientContext oAuth2ClientContext;

使用此对象获取令牌:

代码语言:javascript
运行
复制
oAuth2ClientContext.getAccessToken().getValue();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55350384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档