0

我已经成功地遵循了本教程。 https://spring.io/guides/tutorials/spring-boot-oauth2/#_social_login_authserverSpring Oauth2和Rest Backend

但是,我似乎无法使它作为休息后端服务使用它。我总是从授权服务器获取登录页面。

我该如何让它工作?

我在帖子中使用了以下标题。

Authorization: Bearer <my access token from facebook> 
Content-type: application/x-www-form-urlencoded 

客户端/服务器的资源看起来像这样:

@EnableAutoConfiguration 
@Configuration 
@EnableOAuth2Sso 
@RestController 
public class ClientApplication extends WebSecurityConfigurerAdapter { 

    @RequestMapping("/") 
    public String home(Principal user) { 
     return "Hello " + user.getName(); 
    } 

    public static void main(String[] args) { 
     new SpringApplicationBuilder(ClientApplication.class) 
      .properties("spring.config.name=client").run(args); 
    } 

    @Override 
    public void configure(HttpSecurity http) throws Exception { 
     http.antMatcher("/**").authorizeRequests().anyRequest().authenticated().and().exceptionHandling().and().csrf().disable(); 
    } 
} 

回答

0

授权服务器得到才去,这就是为什么你总是从授权服务器看到的页面资源服务器第一次访问。我建议你对OAuth2概念有很好的理解。我遵循这个教程,它非常有帮助。 [http://websystique.com/spring-security/secure-spring-rest-api-using-oauth2/][1]

+0

因此,基本上我需要禁用授权服务器上的登录表单,并使资源服务器使用休息来授权发布的访问令牌,对吧? 编辑:我想使用Facebook作为授权服务器,我不想自己创建自定义用户/ userdetails。 – Morrowyn

+0

在这里我相信你试图使用Facebook oauth2作为授权服务器的权利?如果是这种情况,那么你需要按照你所说的从授权服务器中删除登录表单。 – joel