Posílání zapomenutého hesla pro přihlášení
- igi
- Člen | 24
Zdravím, v dokumentaci Nette jsem četl, že není dobré posílat heslo
přes mail s čímž souhlasím. Je tedy vhodné posílat jen nějaký odkaz
s jedinečným dostatečně dlouhým get parametrem? V Nette bych tedy
v databázi pro určitého uživatele vygeneroval daný klíč, ten bych
přímo uložil do databáze, stejný poslal i mailem a pak pokud by přišel
tento požadavek, tak bych přiřadil danou identitu? Je to správný postup?
A vytvořit na toto asi nový presenter, že? Nebo není toto už někde
řešeno či na to není nějaké komponette? Přece jen je to si myslím docela
běžná věc.
Děkuji.
- Kamil Valenta
- Člen | 822
Ano, při zapomenutém hesle zaslat dostatečně dlouhý, unikátní, jednorázový hash s krátkou časovou platností.
- dakur
- Člen | 493
Myslím, že ne, ale bude to vypadat nějak takto:
- password reset request presenter – obsahuje formulář na reset hesla, pole e-mail+submit, po odeslání a příp. validaci vygeneruje token a pošle link s tímto tokenem e-mailem (token by měl mít omezenou platnost)
- password reset completion presenter – má parametr token, ten zvaliduje a pokud platí, vyrenderuje formulář na změnu hesla. Po vyplnění uložíš nový hash hesla, přihlásíš a přesměruješ do appky.
Můžeš to mít v jednom presenteru, ve dvou, jak je libo.
Editoval dakur (17. 2. 2023 17:54)
- ViPEr*CZ*
- Člen | 821
Kdysi jsem to zkousel jako extension… dneska jsem si s tim jen tak hral
s refaktorem na novejsi phpko… :-D
Je to dokonce na https://componette.org/…ordrecovery/
a repo je pak
https://github.com/…ature/di-3.1
Je to fakt jen POC a klidne si to forkni a vymakej si to ;-)
Editoval ViPEr*CZ* (25. 10. 2023 17:21)