Cześć.
Chcę utworzyć tymczasowy link aktywacyjny przy rejestracji użytkownika. W panelu rejestracji po kliknięciu submit jest wysyłany mail, i w mailu powinien być przesłany ten wygenerowany link, żeby potwierdzić rejestrację. Czy jest jakiś prosty sposób, żeby to rozwiązać?
Technologia .Net Core + Angular.
a z czym masz problem?
- generujesz GUID i przypisujesz do danego maila i aktywacji zapisując jednocześnie czas do kiedy jest aktywny
- wysyłasz maila z linkiem
- jak przyjdzie request z tym ID to sprawdzasz czy jeszcze jest valid i jak tak to aktywujesz konto a jak nie to info, że wygasł
Można by w linku zawierać podpisaną cyfrowo informację o użytkowniku i terminie, żeby nie musieć trzymać tego w bazie.
Ten link ma mieć jakiś termin ważności? W bazie danych w tabeli usera(albo gdzieś indziej) zrób sobie pole, gdzie będziesz trzymać GUID, ten guid niech będzie w linku aktywacyjnym jako parametr, user klika, przekierowuje go, uuid jest przekazywane na backend i sobie wyciągasz odpowiedniego usera po tym uuid. Jak ma mieć ważność to jeszcze sobie dodajesz kolejne pole z ważnością tego linku. Ew. Możesz sobie jakiegoś jwt tokena wygenerować, gdzie będzie trzymać ID usera i nadasz mu odpowiedni termin ważności.
Michalk001 napisał(a):
Ten link ma mieć jakiś termin ważności? W bazie danych w tabeli usera(albo gdzieś indziej) zrób sobie pole, gdzie będziesz trzymać GUID, ten guid niech będzie w linku aktywacyjnym jako parametr, user klika, przekierowuje go, uuid jest przekazywane na backend i sobie wyciągasz odpowiedniego usera po tym uuid. Jak ma mieć ważność to jeszcze sobie dodajesz kolejne pole z ważnością tego linku. Ew. Możesz sobie jakiegoś jwt tokena wygenerować, gdzie będzie trzymać ID usera i nadasz mu odpowiedni termin ważności.
Dzięki za odpowiedź. Tak, ma być termin ważności na 30min. Teraz już sobie poradzę, również dziękuję @abrakadaber za odpowiedź.