Wpis z mikrobloga

Mircy z #java #spring - Robie logowanie do aplikacji za pomoca facebooka. Korzystalem z tego tutorialu. Problem jest taki, ze na te chwile wpuszczany jest kazdy, a ja chce dodatkowo sprawdzic, czy email jest w bazie.
1) Wiem, ze moge to zrobic filtrem, ale nie chce w ten sposob zadzialac
2) ewentualny customowy AuthenticationManager i Provider nie jest wywolywany
3) Nie chce sam sie bawic z tokenami, chce wykorzystac to, co np. zapewnia mi UserInfoTokenServices (z debugu wiem, ze tam wszystkie potrzebne informacje sie znajduja)
4) Wszystko powinno byc obsluzone przez SpringSecurity, a nie przez moje kontrolery

Jestem niemal pewny, ze moge to zrobic jakos w stylu "attemptAuthentication()" gdzie pobieram tego emaila i sprawdzam z baza, tylko nie moge odkryc miejsca, w ktore musze sie wstrzelic.

Pol googla przekopalem i nigdzie nie znalazlem satysfakcjonujacej odpowiedzi. Ma ktos doswiadczenie z tym i wie co zrobic?
#programowanie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ldefix: nie uzywalem oauth2 przez 3rd party, ale wydaje mi sie ze obiekt autoryzacji idzie przez jakis UserDetailService albo UserDetailsMapper, a jak nie przez zaden z nich to na 100% przechodzi przez AuthorititesPopulator, te klasy mozesz zaimplementowac po swojemu i wstrzyknac do AuthenticationManagerBuilder w klasie extendujacej WebSecurityConfigurerAdapter. Tam powinienes miec wszystko na dloni jak odpalisz debugger. Jeszcze paczke org.sprinframework.security dalbym na debug.
  • Odpowiedz