Java Spring Boot #3 Jak wprowadzić prosty apiKey do naszych usług springowych

in polish •  6 years ago  (edited)

Cześć,

jest to krótki poradnik jak dodać autoryzację kluczem API w spring boot.
Najpierw potrzebujemy projektu ze spring boot i spring security, którego możesz sobie wygenerować tutaj

Na pewno przyda nam się zależność w maven, w celu dołączenia biblioteki JWT:

(W czasie, kiedy to oglądasz, wersja bibliotek może się zmienić i powinieneś używać najnowszej wersji!)

Gdy masz potrzebne dane, to możesz zająć sie tworzeniem serwisu, który obsłuży przekształcanie kodu. Przykład tego masz poniżej:

Powyższy kod pozwala na generowanie klucza API dla konkretnego użytkownika. Jak widać, potrzebny nam jest username oraz klucz szyfrujący (SECRET). Ta metoda przydatna jest szczególnie, gdy chcemy mieć stały, niezmienny klucz API.
Nasz SECRET powinien być jakoś mądrzej umieszczony, ale na nasze potrzeby znajduje się on w kodzie programu.
Jeżeli chcemy, aby klucz wygasał, wystarczy dodać setExpirationDate(data) przy tworzeniu klucza API.

Następnie potrzebny nam jest filter, przez który będą przechodzić dane autoryzacyjne:

Na końcu, potrzebujemy podpiąć to wszystko do naszej konfiguracji spring security. Tutaj wpisujemy, które endpointy mają być autoryzowane kluczem i jakie filtry wykorzystujemy.


(Szerszy opis tego co się tutaj dzieję postaram się zamieścić w późniejszym czasie.)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @grzegorz2047! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @grzegorz2047! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!