Piszę aplikację przy użyciu Symfony2, która będzie współpracować z Wordnik REST API.Uwierzytelnianie Symfony2 przez REST API innej firmy
Obecnie interfejs API programu Wordnik nie oferuje możliwości protokołu OAuth, dlatego muszę zaakceptować nazwę użytkownika i hasło, które następnie przejdę w przejrzysty sposób do interfejsu API.
Chciałbym zintegrować to uwierzytelnianie API z systemem bezpieczeństwa Symfony2, ale jak dotąd nie byłem w stanie określić, jaka jest najlepsza ścieżka wdrożenia.
Nie sądzę, że custom user provider jest poprawny, ponieważ hasło nie jest przechowywane w moim systemie. Wszystkie przykłady dotyczące custom authentication providers wydają się dotyczyć zabezpieczania części aplikacji, a nie przed API REST.
Nie jest dla mnie jasne, do jakiego stopnia FOSUserBundle pomaga rozwiązać ten problem.
Idealny przepływ:
- Użytkownik zapewnia poświadczeń.
- Poświadczenia są przekazywane do REST API 3rd party
- Jeśli poświadczenia są prawidłowe:
- Odpowiedni „trzeci użytkownik partia” Podmiot jest tworzony przez mojego wniosku, jeśli nie istnieje.
- Użytkownik jest uwierzytelniany za pomocą tego elementu "Użytkownik zewnętrzny".
Co jest najlepszym sposobem wdrożenia tego w kontekście zabezpieczeń Symfony2?
Dzięki!
Podobne pytania:
Mam problem z tym samym problemem. Czy mógłbyś podzielić się swoim kodem za to, w jaki sposób to zaimplementowałeś? – Steffan
@Steffan - Trwa to 2 lata od napisania tego kodu, ale możesz zobaczyć dostawcę/token, który napisaliśmy tutaj: https://github.com/freen/wordrot/tree/584a7b361ba21eb1cf5303949cb6b3d30eecf687/src/WordRot/PlayBundle/ Security/Authentication .... po kolejnych zatwierdzeniach usunąłem backend PHP na rzecz wypróbowania backendu Node, tak aby commit był ostatnim stanem PHP. –
Thx dużo, ale znalazłem łatwiejszy sposób to zrobić z [system ochrony] (https://knpuniversity.com/screencast/guard/login-form) thx do @DevDonkey z [this] (http: // stackoverflow .pl/questions/34376315/symfony2-authenticate-is-not-execution? noredirect = 1 # comment56501487_34376315). – Steffan