2016-02-27 15 views
14

Próbuję zintegrować Spring OAuth2 ze Spring RVC REST. Większość przykładów Spring OAuth2, jest tylko ResourceServerConfigurerAdapter, a niektóre z nich mają także WebSecurityConfigurerAdapter. Nie zamierzam integrować OAuth z Google, Facebookiem itp. Próbuję zapewnić uwierzytelnianie oparte na tokenach dla Spring RVC REST, który jest obecnie oparty na uwierzytelnianiu Basic. Czy ktoś może wyłudzić mi to, co jest wymagane, a nie lub dobry zasób, aby zrozumieć integrację REST + OAuth w Spring MVC na jednym serwerze?Relacja między WebSecurityConfigurerAdapter i ResourceServerConfigurerAdapter

Obecnie mój POC działa bez WebSecurityConfigurerAdapter, ale z ResourceServerConfigurerAdapter wraz z AuthorizationServerConfigurerAdapter. Wygląda na to, że wystarczy ResourceServerConfigurerAdapter. Teraz nie jestem pewien, co powinienem zrobić z moim istniejącym WebSecurityConfigurerAdapter, który działa doskonale w mojej aplikacji REST Spring MVC.

Odpowiedz

10

Oto dobra odpowiedź https://stackoverflow.com/a/28604260, wygląda na to, że WebSecurityConfigurerAdapter jest kolejnością gorszą od ResourceServerConfigurerAdapter.

Mam WebSecurityConfigurerAdapter i ResourceServerConfigurerAdapter, ale konfiguracja zabezpieczeń punktów końcowych jest w ResourceServerConfigurerAdapter under:

public void configure(HttpSecurity http) throws Exception { 

Mam też następującą konfigurację:

security: 
    oauth2: 
     resource: 
      filter-order: 3 

Else konfiguracja zabezpieczeń punktów końcowych ignorowane (nie wiem dlaczego).

+0

to działało również dla mnie. z tym, nie potrzebuję w ogóle "WebSecurityConfigurerAdapter" - "ResourceServerConfigurerAdapter" robi wszystko. Obserwowałem łańcuch filtrów za pomocą 'logging.level.org.springframework.security: DEBUG', w 3 testach. 1. "Tylko zasoby" 2. "Zasoby * i Internet *" 3. "Zasoby * i Internet * oraz" kolejność filtrów ". W przypadkach 1 i 3: łańcuch filtrów miał 12 długości i zawierał filtr "OAuth2AuthenticationProcessingFilter", który nadawał uwierzytelnienie nośnika (zgodnie z życzeniem). ale w przypadku 2: łańcuch filtrów miał 14 długości, wykluczono filtr "OAuth *", a zamiast tego filtry takie jak "Hasło użytkownika * Filtr". – Birchlabs

+0

Jeśli znalazłeś jakieś rozwiązanie, proszę daj mi znać, mam ten sam problem. tutaj jest moje pytanie https://stackoverflow.com/questions/47627226/basic-auth-oauth-implementation-in-spring-boot –

+0

Myślę, że jest dobrą odpowiedzią, jednak będąc początkującym w oauth, dochodzę do tej odpowiedzi i zrobiłem _'... wygląda na to, że WebSecurityConfigurerAdapter jest kolejnością gorszą od ResourceServerConfigurerAdapte'_, tak jakby ResourceServerConfigurerAdapter mógł być przetwarzany przed WebSecurityConfigurerAdapter. Dla wyjaśnienia, WebSecurityConfigurerAdapter wydaje się mieć ** wyższy priorytet ** w stosunku do ResourceServerConfigurerAdapter – kavrosis

Powiązane problemy