Tak, robiłem to i inni znajomi też robili ale używałem smsAPI.
Oto co musisz zrobić:
- Pozwolić użytkownikowi się zalogować (login i haslo) - unikniesz w ten sposob wysyłania smsow gdy ktos zapusci skrypt i wpisze milion razy swoj login. Dlatego to co chcesz zrobic to 2FA czyli dwuetapowe logowanie.
- W tabeli users dodajesz pole z flaga czy zalogowany po smsie np: security_login domyslnie na 0
- Sprawdzasz za kazdym przeladowaniem czy uzytkownik ma flage security_login = 1 jesli nie ma to kierujesz na strone gdzie oczekuje na sms
- Na stronie jest pole na podanie kodu, guzik zatweirdz i guzik wyslij ponownie (np w ajaxie)
- Po podaniu kodu nieprawidlowe np 3 razy wylogowujesz go
- po podaniu prawidlowego kodu zmieniasz mu flage security_login = 1 i odswiezasz strone, system wykryje ze flaga true i wpusci go do systemu
- robisz middleware w ktorym sprawdzasz flage security_login i wszystkie routingi nim owijasz tak ze jesli nie ma flagi to idzie na strone z kodem sms.
Oczywiscie ss wysylasz jesli ma numer telefonu w tabeli users czy tam w innej gdzie trzymasz dodatkowe dane uzytkownika
xD