Permettre la modification du mot de passe.
Idéalement, il faudrait pouvoir envoyer un mail à l'utilisateur, via le mail qu'il a renseigné.
Il recevrait un lien avec un deeplink (Lien qui permet d'ouvrir directement l'application). Le deeplink ressemblerait à ça : allin://passwordreset?code=CoNsTvUUOsPjX
Cliquer sur le deeplink ouvrirait la page de modification de mot de passe.
Dans le deeplink on a un code unique pour s'assurer de l'identité de l'utilisateur.
Ce code est généré au moment de l'envoi du lien par mail et est stocké temporairement pour identifier chaque utilisateur.
Permettre la modification du mot de passe.
Idéalement, il faudrait pouvoir envoyer un mail à l'utilisateur, via le mail qu'il a renseigné.
Il recevrait un lien avec un deeplink (Lien qui permet d'ouvrir directement l'application). Le deeplink ressemblerait à ça : `allin://passwordreset?code=CoNsTvUUOsPjX`
Cliquer sur le deeplink ouvrirait la page de modification de mot de passe.
Dans le deeplink on a un code unique pour s'assurer de l'identité de l'utilisateur.
Ce code est généré au moment de l'envoi du lien par mail et est stocké temporairement pour identifier chaque utilisateur.
Pour les credentials, faudrait le faire passer par la CI et le récupérer depuis une variable d'environnement. Et essayer d'avoir un mdp vraiment sécurisé.
Quand l'utilisateur demande à changer de mot de passe, ça génère un code complexe gardé dans une map code => email. Ensuite, on passe ce code dans le mail.
Quand l'utilisateur est sur la page de changement de mot de passe, il envoie une requête avec le nouveau mot de passe, l'email associé et le code. On vérifie si l'email est bien associée à ce code là, puis on change le mdp, sinon on retourne une erreur.
Les codes sont valables 10 minutes (à décider), puis sont supprimés.
Pour faire ça, on peux lancer une coroutine au moment de la création du code, on fait un delay de 10 minutes puis on supprime l'entrée.
@lucas.evard
On peux utiliser un compte gmail pour l'envoi de mail apparemment :
https://stackoverflow.com/questions/66571524/sending-emails-from-ktor-application
Pour les credentials, faudrait le faire passer par la CI et le récupérer depuis une variable d'environnement. Et essayer d'avoir un mdp vraiment sécurisé.
Pour gmail, on aura peut-être un problème car google refuse l'usage du service par des apps pas sécurisées, il faudrait faire un "app password".
https://support.google.com/accounts/answer/185833
https://www.youtube.com/watch?v=BFTCVC33qhQ&t=374s
---
Quand l'utilisateur demande à changer de mot de passe, ça génère un code complexe gardé dans une map code => email. Ensuite, on passe ce code dans le mail.
Quand l'utilisateur est sur la page de changement de mot de passe, il envoie une requête avec le nouveau mot de passe, l'email associé et le code. On vérifie si l'email est bien associée à ce code là, puis on change le mdp, sinon on retourne une erreur.
Les codes sont valables 10 minutes (à décider), puis sont supprimés.
Pour faire ça, on peux lancer une coroutine au moment de la création du code, on fait un delay de 10 minutes puis on supprime l'entrée.
Permettre la modification du mot de passe.
Idéalement, il faudrait pouvoir envoyer un mail à l'utilisateur, via le mail qu'il a renseigné.
Il recevrait un lien avec un deeplink (Lien qui permet d'ouvrir directement l'application). Le deeplink ressemblerait à ça :
allin://passwordreset?code=CoNsTvUUOsPjX
Cliquer sur le deeplink ouvrirait la page de modification de mot de passe.
Dans le deeplink on a un code unique pour s'assurer de l'identité de l'utilisateur.
Ce code est généré au moment de l'envoi du lien par mail et est stocké temporairement pour identifier chaque utilisateur.
@lucas.evard
On peux utiliser un compte gmail pour l'envoi de mail apparemment :
https://stackoverflow.com/questions/66571524/sending-emails-from-ktor-application
Pour les credentials, faudrait le faire passer par la CI et le récupérer depuis une variable d'environnement. Et essayer d'avoir un mdp vraiment sécurisé.
Pour gmail, on aura peut-être un problème car google refuse l'usage du service par des apps pas sécurisées, il faudrait faire un "app password".
https://support.google.com/accounts/answer/185833
https://www.youtube.com/watch?v=BFTCVC33qhQ&t=374s
Quand l'utilisateur demande à changer de mot de passe, ça génère un code complexe gardé dans une map code => email. Ensuite, on passe ce code dans le mail.
Quand l'utilisateur est sur la page de changement de mot de passe, il envoie une requête avec le nouveau mot de passe, l'email associé et le code. On vérifie si l'email est bien associée à ce code là, puis on change le mdp, sinon on retourne une erreur.
Les codes sont valables 10 minutes (à décider), puis sont supprimés.
Pour faire ça, on peux lancer une coroutine au moment de la création du code, on fait un delay de 10 minutes puis on supprime l'entrée.