Cześć,
mam pytanie, czy jest możliwość, a jeśli tak to w jaki sposób autoryzacji na dwa sposoby w Laravel.
Mam aplikację gdzie admina autoryzuję przez laravel passport - do panelu admina a teraz zwykłych użytkowników chciałbym autoryzować w sposób standardowy, przez formularz w blade.
- Rejestracja:około 4 lata
- Ostatnio:dzień
- Postów:167

- Rejestracja:ponad 8 lat
- Ostatnio:około 2 godziny
- Postów:3457
Jest możliwe, ale przed zalogowaniem nie bardzo wiadomo jakie role ma użytkownik. Musisz to sobie jakoś przemyśleć.
Szukaj po "custome auth middleware" np.
https://www.webtrickshome.com/forum/how-to-add-custom-authentication-middleware-in-laravel
No i dokumentacja.
https://laravel.com/docs/8.x/authentication
- Rejestracja:prawie 4 lata
- Ostatnio:prawie 4 lata
- Postów:51
ssquad napisał(a):
Mam aplikację gdzie admina autoryzuję przez laravel passport - do panelu admina a teraz zwykłych użytkowników chciałbym autoryzować w sposób standardowy, przez formularz w blade.
A nie lepiej na max'a chronic wlasne dup...sko i cala odpowiedzialnosc za autentykacje "zwalic" na zewnetrzne serwery? Wtedy przynajmniej teoretycznie latwiej sie bronic przed zarzutami. Autentykacja przez Googl'e, a autoryzacja po Twojej stronie. W razie "kiszki", problem bedzie lezal na lini uzytkownik-google, albo po stronie zfrustrowanego admina bazy danych lub serwera Twojego provider'a.

- Rejestracja:około 4 lata
- Ostatnio:około 3 lata
- Postów:425
W obu przypadkach robisz jedno i to samo logowanie. Potem tylko po zalogowaniu jak juz masz Auth()->user() sprawdzasz czy logowanie jest przez passport i czy user to admin. jesli tak to ok jesli nie to wylogowujesz. A jak zaloguje sie przez zwykly formularz to nie sprawdzasz juz nic dodatkowo bo i admin i user loguja sie tak samo. To jest ten sam proces co robisz 2-Factory Authentication. najpierw musisz usera zalogowac a potem sprawdzasz czy ma 2FA na email czy na sms i przed dostepem do serwisu wykonujesz dodatkowe czynnosci.
Jak pisal wczesniej autor robiz grupe w route kdo ktorej dajesz middleware ktory psrawdza czy user przeszedl veruwifkacje lub czy jest adminem i przez co sie logowal to wszystko tam wstaw sobie
- Rejestracja:prawie 4 lata
- Ostatnio:prawie 4 lata
- Postów:51
@masterc: w przypadku zewnetrznych serwerow (bylo juz Google, wiec niech caly czas bedzie Google), cala autentykacje zalatwia Ci Google i banalne middleware (AuthenticationMiddleware) po Twojej stronie, ktore siciaga Ci z serwera Google kilka informacji na temat uzytkownika, na podstawie ktorych Twoje kolejne (AuthorizationMiddleware) odczytuje jego role i zakres przywilejow, ktore jej odpowiadaja.
W przypadku larvel passport samodzielnie stawiasz sobie wlasny serwer z cala niezbedna infrastruktura, dodatkowo zglaszajac sie na ochotnika jesli chodzi o wylaczna odpowiedzialnosc za np wyciek danych.