RESTfull API和Spring Security OAuth2和基于Facebook Graph令牌的登录

时间:2018-08-23 07:52:09

标签: spring spring-boot facebook-graph-api oauth-2.0 spring-security-oauth2

当尝试使用oauth2和Facebook Graph保护某些REST端点时,我遇到了一些问题。

这种情况很简单:用户通过iOS应用程序与Facebook登录,获取令牌,然后在请求数据时将令牌传递给我的后端(带有Bearer令牌认证的POST)。

我有一个具有以下配置的资源服务器:

@Configuration
@EnableWebSecurity
@EnableResourceServer
public class OAuthConfiguration extends ResourceServerConfigurerAdapter {
    @Bean
    public RemoteTokenServices remoteTokenServices() {
        final RemoteTokenServices tokenServices = new RemoteTokenServices();
        tokenServices.setCheckTokenEndpointUrl("https://graph.facebook.com/oauth/access_token");
        tokenServices.setClientId("XXXXXXXXXX");
        tokenServices.setClientSecret("YYYYYYYYYYYYYY");
        return tokenServices;
    }

    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        resources.tokenServices(remoteTokenServices());
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.requestMatchers()
            .and()
            .authorizeRequests()
            .antMatchers(HttpMethod.GET, "/**" ).authenticated();
    }
}

我希望起初只允许具有有效令牌的用户访问。

0 个答案:

没有答案