2017-10-12 109 views
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