Skip to content

Email based authentication

Bruno Besson edited this page Dec 26, 2017 · 3 revisions

At several places in the application, emails are sent to the user for authentication.

Registration

When registering, an unvalidated user is created in the database and an email containing a validation link (using a nonce) is sent to the provided address. If the link is clicked before the expiration date, then the user account is validated. On the contrary, when the account is not confirmed during a certain timespan, the account is destroyed.

Forgotten password

A user may forget their password. In order to regain access to the application, they must request a password change. The legitimacy of the request is checked by sending them an email containing a validation link. Once the validation link is clicked, the password may be chosen freely.

Change a user's email

We currently have problems with @free.fr adresses. To change the email used for an account:

  • Connect to the prod database
  • Retrieve the user id associated to the current email: select * from users.user where email = '[email protected]'; => id=1234
  • Update the values in the DB:
    update users.user
    set email = '[email protected]', validation_nonce = null, validation_nonce_expire = null
    where id = 1234;
    
    We reinitialize the validation_nonce and validation_expire fields that aren't useful anymore (they are filled when one's trying to reinit it's password or after the account creation and are there to validate the modifications).
Clone this wiki locally