0

J'ai une petite application avec un LoginActivity fonctionnant. Je veux maintenant développer un fragment pour cette activité qui aidera l'utilisateur à créer un nouveau mot de passe s'il a été oublié. J'ai vu certaines personnes utilisant PHP/MySQL pour cela, mais je me demandais s'il est possible d'utiliser Java/SQLite pour atteindre le même objectif?Activité de connexion - Comment puis-je envoyer un courriel à un utilisateur s'il a oublié mon mot de passe?

fonctionnalités attendues:

  1. utilisateur clique oublié lien Mot de passe
  2. Envoyé à ForgotPass_Fragment qui demande/vérifie l'e-mail d'un utilisateur.
  3. Si elle est un e-mail valide, envoyez un courriel à l'utilisateur le code/nouveau Mot de passe temporaire

Je suppose que la vraie question est de savoir si je peux utiliser Java pour envoyer un e-mail à l'utilisateur avec les informations nouvellement généré plutôt que en utilisant PHP ou une autre langue? Would something like this be the best practice?

+1

Il est de la responsabilité de la personne à laquelle vous vous connectez sur le serveur ou le serveur d'envoyer l'e-mail. – EpicPandaForce

+0

@EpicPandaForce serait-il donc considéré comme la meilleure pratique pour gérer cet envoi de l'email de l'intention comme dans ce post? http://stackoverflow.com/questions/28546703/how-to-code-using-android-studio-to-send-an-email – JonathanScialpi

+1

Vous devriez appeler le côté serveur avec un appel API REST par exemple 'api/user/forgotPassword' avec un JSON comme '{'email': '[email protected]'}' et le côté serveur devrait envoyer l'e-mail de récupération à l'utilisateur – EpicPandaForce

Répondre

0

En supposant que vos informations de récupération de mot de passe sont stockées sur un serveur, vous devrez utiliser une sorte de service Web côté serveur (PHP, Java ou autre) pour server le "courrier électronique de récupération". Si pour une raison quelconque vous avez déjà les informations de mot de passe de l'utilisateur sur le téléphone (ce qui serait une très mauvaise idée), vous pouvez utiliser un appel Android Java local pour répondre avec les informations.

En bout de ligne, vous aurez besoin d'un service Web pour fournir les informations de mot de passe à l'utilisateur.

+0

Je stocke dans la base de données SQLite pour le moment car nous en sommes encore aux premiers stades de développement. La seule fois que j'ai le mot de passe/nom d'utilisateur sur le téléphone est pour la portion SharedPreferences pour aider l'utilisateur à rester connecté. Est-ce correct? Sinon, que recommanderiez-vous? – JonathanScialpi

+1

SharedPreferences peut être facilement lu par n'importe qui (donc complètement non sécurisé). En dehors de la portée de cette question, mais à coup sûr NE PAS stocker d'informations sécurisées dans SharedPreferences. – Booger

+0

Ok merci @Booger. Avez-vous une suggestion de bonne pratique pour rester connecté? ... Aussi, est-ce toujours un problème si je crypte l'information? – JonathanScialpi