Wpis z mikrobloga

Mircy, potrzebuję waszej porady.
Mam projekt na #zf2 i mam tam zrobione logowanie w którym wykorzystywany jest \Zend\Authentication\AuthenticationService. Logowanie polega na przekazaniu do adaptera serwisu hasła i loginu, na podstawie których jest sprawdzanw czy dane są poprawne i następuje zalogowanie użytkownika.
Korzystająć z HybridAuth zrobiłem na stronie rejestrację przy pomocy facebooka. Mam teraz taki problem, że muszę zrobić logowanie do systemu przy pomocy facebooka, ale nie mogę wykorzystać istniejącego kodu, ponieważ tam jest sprawdzany login i hasło użytkownika, a ja chcę sprawdzić facebookidentifier i email. Myślałem, że można facebookidentifier zamiast hasła, ale to nie przejdzie. Może da się jakoś podmienić credentials by walidacja była według facebookidentifier? Ja nie znalazłem na to sposobu.
Znalazłem natomiast taką stronkę: https://samsonasik.wordpress.com/2014/06/21/zend-framework-2-using-custom-authentication-condition-with-doctrinemodule/ na której przedstawiony jest kod, za pomocą którego można walidować dane na własny sposób. Problem jednak jest taki, że później to jest dodawane do doctrine
factories, przez co jak rozumiem ta walidacja będzie wykorzystywana wszędzie. Mi taki wariant nie odpowiada. Chcę mieć logowanie przy pomocy emaila i hasła, jak też facebooka (email i facebook_identifier). Ktoś może mi podpowiedzieć, jak mam użyć zendAuthService z moim walidatorem, a nie domyślnym?

Wrzucam też mój walidator i kawałeczek serwisu z metodą logowania: https://gist.github.com/miedzwin/0207abe651f9f47b290e61916bbfb295

#php #zendframework #zendframework2 #webdevhelp #webdev
  • 1
  • Odpowiedz
@mariecziek: nie znam zenda ale nie ma tam czegoś w tym serwisie w stylu loginById ? na podstawie facebookowych danych szukasz id użytkownika i wymuszasz autentykację
  • Odpowiedz