Kolejny raz przekonuję się, że Spring Security to kombajn, w którym teoretycznie każdy komponent można podmienić, ale są tak ze sobą powiązane, że chcąc coś zrobić inaczej, trzeba przepisać połowę komponentów.

Udało mi się nieco okiełznać klienta OAuth2:

1. Tworząc filtr, który na podstawie nagłówka X-USER-ID utworzy obiekt Authentication - otóż SS nie akceptuje anonimowych klas Authentication ani jak przekażemy #!$%@? w formie ciągu znaków przy ręcznym utworzeniu OAuth2AuthorizeRequest.

2. Dostosowując aplikację
Celem jest napisanie komunikacji z zewnętrzną usługą w imieniu konkretnego użytkownika. Czyli użytkownik loguje się w tej usłudze i wyraża zgodę na dostęp do swoich danych lub wykonywania pewnych czynności. Chodzi o coś takiego jak jest na Facebooku, kiedy zezwalasz innej aplikacji na dostęp do twojego konta. Potem aplikacja może sama uzyskać dostęp do usługi, mając ważny token.

1. jaki jest sens walidacji redirect URI?


@whoru: Integruję się z zewnętrzną usługą
  • Odpowiedz
@SendMeAnAngel: moim zdaniem za duży margines błędu dotyczący bezpieczeństwa jest używając Spring Security, jaka masz pewność że zabdasz o każdy corner case? Nie wiem jak to wygląda ale na AWSie już się nie używa Spring Security tylko korzysta z gotowych komponentów, tak samo z innymi rozwiązaniami jak istio ale szanuje za wytrwałość ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Robił ktoś uwierzytelnianie OAuth2 do zewnętrznych usług w #springboot z użyciem #springsecurity i komuś to działało? Standardowy URL /oauth2/authorization/nazwauslugi nie działa, a ręczne wywołanie authorize() rzuca wyjątek "Authorization required for Client Registration Id: nazwauslugi" - wygląda na to, że odpowiednie filtry nie są wywoływane (np. OAuth2AuthorizationRequestRedirectFilter). A tak w ogóle to szukam jakiejś lekkiej biblioteki bez integracji ze Spring Security. Chodzi o to, żeby użytkownik mógł się połączyć z zewnętrznymi usługami tak
@PaaD: @whoru: @srgs: @retardo: udało się, gryzły się 2 klasy z metodą configure(HttpSecurity http) i w efekcie tworzyły się 2 łańcuchy filtrów dla SS, a tylko pierwszy był uruchamiany, teraz trzeba zmusić SS, by wysyłał odpowiednie żądanie do serwera uwierzytelniania
  • Odpowiedz
Mireczki,

Uczę się podstaw Spring Security w projekcie odpalonym na Spring Boocie i mam jedno pytanko.

Czy możliwe jest utworzenie dodatkowego filtra, który sprawdzałby przy autentykacji, czy dany USER ma konto 'ACTIVE'?

Coś jak 'hasRole' lub 'hasAnyRole' i tutaj dla roli mam ADMIN, USER, SUPPORT itd.

I teraz dla konta mam 3 enumy określające status konta: 'CREATED', 'ACTIVE', 'DELETED'.

Przykładowo, jeśli użytkownik stworzy konto, to np. może sobie na forum przejrzeć posty,
#java #springboot #oauth2 #deeplink #springsecurity

Cześć Mirki,

Mam pewien problem w aplikacji Spring Boot.

Dodałem do Spring Security OAUTH2 i ustawiłem wszystkie rzeczy związane z Google i Facebook.
Przy próbie logowania przez Facebook i po poprawnym logowaniu przeglądarka cały czas pobiera mi plik zamiast przekierować do /api/auth/success tak jak w przypadku google.

Na screenie przesyłam ustawienia Facebook i Spring Security. Dodatkowo jak zrobić z REST API deep link do aplikacji react native
dzimen - #java #springboot #oauth2 #deeplink #springsecurity

Cześć Mirki,

Mam p...

źródło: comment_1653749154DGwF6X5ZWLG4XyWyzKyUsz.jpg

Pobierz
#java #naukaprogramowania #spring #springboot #springsecurity #angular #typescript spring security serwis angular Hej mam w swojej apce, zrobuione logowanie za pomocą loginForm() jak w postmanie wysyłam POST na /login?username=user&password=user to poprawnie mnie loguje, ale jak próbuje wysłać posta za pomocą serwisu w Angularze to wysyła się tylko OPTIONS i zwraca 403, domyślam się że chodzi o CORS ale w security configuration mam go wyłączonego, ktoś wie jak rozwiązać ten problem ?
@infamia: nie zdążyłem edytować:
angular pewnie bije z innego adresu niż stoi twój serwer i Twoje security blokuje options na tym styku.

1. W security dodaj .cors().disable() [czy jakos tak]
2. Reverse proxy
3. Spermituj wszystkie options
4. Poprawnie zkonfiguruj cors
  • Odpowiedz
Mireczki, mógłby ktoś rozwiązać moje wątpliwości w kwestii ldap + spring security?
Nigdy się nie integrowałem z ldapem w kwestii logowania, a w planach jest przejście z jwt na ldapa. Z tego co rozumiem, to ldap dostarcza gotową bazę użytkowników, co za tym idzie odpada proces rejestracji. Jak to się ma do encji systemowych typu User, skoro nie ma procesu rejestracji czyli tworzenia tego usera, a w logice biznesowej potrzebuje tego usera
@Algeroth: generalnie tak, w aplikacji masz encje User ktora jest migawka danych z ldapa (z security same role), ale to ldap odpowiada za auth.

Tylko pamietaj, ze masz case:
1. nie masz jeszcze => utworz
2. juz masz => mozliwa aktualizacja

btw. my szlismy w rozwiazanie tego za pomoca jobow (a nie synchronizacji przy logowaniu, bo moglismy sobie pozwolic ze jakis pracownik ma przestarzale dane przez jakis czas) ktore pobieraja wszystkich
  • Odpowiedz
Mireczki potrzebuje porady. Chce zrobić aplikacje w springu z REST API, ale nie wiem jak się zabrać za zabezpieczenia w owej. Myślałem nad tokenami, że wraz z prośbą o jakieś informacje klient by wysyłał token tylko czy to ma sens? Może inaczej się to robi?

Ogółem użytkownik będzie zalogowany i miałby trzymać owy dopóki on nie wygaśnie/wyloguje się.

#java #spring #springsecurity
Mam parę pytań odnośnie #spring i #springsecurity. Może ktoś będzie w stanie mi pomóc. Mam apkę w androidzie, do której chcę dorobić autoryzację używając #oauth z #googleapi. Następnie na podstawie access token'u, wysyłanego do springowego controller'a #rest chcę zrobić walidację tego tokenu. Myślałem o użyciu #springsecurity jednak nie do końca wiem jak miała by wyglądać autoryzacja w tym momencie. Stąd pytania: czy mogę w każdym requeście do spring dodać header
  • Odpowiedz