[SPA] Automatische inloggen na accountbevestiging

Pagina: 1
Acties:

Onderwerpen


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-07 10:41

alienfruit

the alien you never expected

Topicstarter
Ik ben momenteel bezig met een project waarbij je eerst een account moet aanmaken middels een registratieformulier. Vervolgens wordt er een email verstuurd met een link naar de applicatie om je account te bevestigen. Alleen nu wil ik graag dat je dan ingelogd blijft en nu zit ik te twijfelen of mijn aanpak een goed idee is.

Alles hierboven wordt afgehandeld door een RESTful API zo ook een accountbevestiging (/v1/account/conform). Dat deel gaat allemaal goed. Nu ben ik aan het overwegen om een tijdelijk JWT token bij deze request mee te sturen. Zodat de gebruik bijv. voor een één of twee uur ingelogd blijft. Waar hij vervolgens zelf moet inloggen.

Nu is mijn vraag is dit een goed idee? Momenteel moet je eerst zelf inloggen na de accountbevestiging. Zijn er nog bepaalde best practices? Mijn gut feeling zegt dat het niet zo veilig is maar wel een goed gebruikerservaring is.

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Als iemand de mail onderschept is hij gelijk ingelogd... niet handig.
Wel kan je op de confirm pagina nogmaals vragen om het wachtwoord van de user, als die goed word ingevoerd activeer je het account en kan je gelijk een request de deur uit doen om te authenticeren (want het wachtwoord heb je toch al) :)

Owner of DBIT Consultancy


  • maxtz0r
  • Registratie: Februari 2007
  • Laatst online: 17-12-2022
De vraag is hoeveel waarde je hecht aan de beveiliging van externe factoren. Zoals DennusB aangeeft als de mail onderschept wordt (waar jezelf dus weinig aan kan doen) dan kan iemand die gebruiken om automatisch in te loggen. Als je dit belangrijk vindt dan wordt het al heel moeilijk om "automatisch zonder wachtwoord in te voeren" in te loggen vanuit een "activatie link".
Over het algemeen genomen wordt er naar mijn weten een token gegenereerd en op basis daarvan bij het activeren gecontroleerd of deze klopt en word je automatisch ingelogd.

Dying is God's way of telling you, you've been FIRED.


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-07 10:41

alienfruit

the alien you never expected

Topicstarter
Ja, daar zat ik dus ook aan te denken als de mail wordt onderschept. Maar het idee is dus dat je inloggegevens niet hoeft in te vullen. Maar misschien is alleen een wachtwoord herhalen een goede compromis.

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:26
Wat ik zou doen is zorgen dat dat token maar 1x te gebruiken is. En je zou er nog voor kunnen kiezen dat een 'wijzig-wachtwoord' functie niet beschikbaar is op het moment dat een gebruiker via het token is ingelogd.

Helemaal veilig zal het niet worden maar afhankelijk van je project kan dit veilig genoeg zijn.

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 16-07 18:04

Douweegbertje

Wat kinderachtig.. godverdomme

comform of confirm? ;)

In ieder geval kun je het op meerdere manieren doen. Zo heel raar is het niet om iemand direct na activatie ingelogged te laten. Gebeurt wel vaker in in zekere zin is het niet super gevaarlijk zolang die acceptatie url / token maar vervalt na de eerste keer.
Normale manier is om iemand te activeren om hem vervolgens door te sturen naar de login pagina.

De andere optie is om een bepaalde token c.q. cookie mee te geven bij de registratie, mocht iemand op het zelfde ip / browser etc. naar je toe komen middels de activatie mail kun je er vanuit gaan dat het de zelfde user is en dus direct laten inloggen zonder dat hij iets moet doen.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-07 10:41

alienfruit

the alien you never expected

Topicstarter
Hmm, ja, nu wordt je inderdaad doorgestuurd naar de login pagina. Alleen dit vind de doelgroep niet zo leuk. Ik denk dat ik voorlopig ga voor het meesturen van een tijdelijk JWT token die binnen 1-2 uur vervalt en maar één keer te gebruiken valt. En deze token meestuur in de response van de eerder benoemde RESTful API call. In combinatie dat ze wachtwoord niet kunnen wijzigen met deze token.
Pagina: 1