[SF][SF3] Autentykacja z tokenem |
[SF][SF3] Autentykacja z tokenem |
16.05.2018, 10:32:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) |
Mam serwer API na którym robię autentykację przykłądowo
http://host/login w poście przesyłam login i hasło , jeśli jest poprawna otrzymuje 200 i wygenerowany token. Serwer udostępnia różne metody które wymagają przesłanego w nagłówku tego tokena. Teraz potrzebuje zrobić klienta API w symfony 3.4 , w którym będe logował się do tego serwera i teraz zastanawiam się jak po pobraniu tego tokena utworzyć obiekt użytkownika który będzie posiadał tego tokena i przesyłał go w nagłówkach do metod które będę wywoływał z klienta API na serwer ? |
|
|
16.05.2018, 10:45:03
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
Osobna tabela np user_api_key gdzie trzymasz ID usera oraz klucz autoryzacyjny. W momencie zalogowania do tabeli rzuć ID user, czy tam username + klucz. Przy kolejnym request pobierz ID usera na podstawie klucza autoryzacji.
Kolejna sprawa to po zalogowaniu dostajesz obiekt usera do którego masz dostęp poprzez $this->getUser() To powinno Ci wiele wyjaśnić https://symfony.com/doc/3.4/security/api_ke...entication.html Ten post edytował ExPlOiT 16.05.2018, 11:50:24 |
|
|
16.05.2018, 12:16:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) |
generalnie korzystam z API wygenerowanego przez codegen Swagger. Tam już mam stworzonego UserApi oraz User model. Może jest jakaś opcja wykorzystania jakiegos bundla
|
|
|
16.05.2018, 13:24:15
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
Tu już musisz sobie sam poradzić, bundle wszystkiego za Ciebie niestety nie zrobią
|
|
|
16.05.2018, 14:15:56
Post
#5
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) |
kurcze, nie wiem czy się rozumiemy
api serwera (zewnętrtznego) do którego kodu nie mam dostępu . wygląda mniej więcej tak:
Teraz w symfony tworze formularz logowania ktory postem przesyla requesta do http:/host/user/login, otrzymuje tokena i potrzebuje stworzyć obiekt użytkownika oraz do każdego przesyłanego requesta dawać w headerze ten token tak jak do http:/host/user/getPersonalData lub innych metod które go będą wykonywać. |
|
|
17.05.2018, 08:42:07
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
1. Logujesz się, dostajesz token
2. Wysyłasz kolejny request z tokenem w nagłówku, dostajesz odpowiedź w formacie json zapewne. 3. Wyświetlasz w sf otrzymane dane w formacie json I tyle |
|
|
17.05.2018, 09:24:51
Post
#7
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) |
o to chodzi tak jak piszesz kolego
generalnie teraz przerabiam materiał który wcześniej linkowałeś ( How to Authenticate Users with API Keys ) tylko tutaj nie kumam: 1. w przykładzie podanym w w/w manulu musze cały czas podawać token w parametrze GET... mi by bardziej odpowiadało aby po zalogowaniu i pobraniu tokena trzymać go może w cookies 2. nie bardzo wiem w którym miejscu mógłbym ustawić ten token do wszystkich przesyłanych odemnie requestów na serwer API |
|
|
17.05.2018, 09:40:45
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
To gdzie przekazujes token, zależy od API skąd go pobiera, jedne pobierają z GET, inne np z Header jak u mnie. W Twoim wypadku jak widać musisz przekazywać go w nagłówku.
|
|
|
17.05.2018, 11:43:19
Post
#9
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) |
dzieki wielkie za pomoc
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 07:34 |