Exiger un numéro de téléphone

Commencez par exiger que les utilisateurs indiquent un numéro de téléphone lors de leur inscription. Pour ce faire, générez une nouvelle migration de base de données :

rails generate migration add_phone_number_to_users

Modifier le db/migrate/..._add_phone_number_to_users.rb pour ajouter une nouvelle colonne au fichier user modèle :

Appliquer la modification en exécutant :

rake db:migrate

Devise fournit un générateur Rails pour créer une copie des modèles que vous devez éditer. Vous lancez le générateur à l'aide de la commande rails generate:devise:views:templates.

Toutefois, étant donné que l'exemple d'application utilise l'option devise-bootstrap-templates vous devez utiliser une version différente du générateur :

rails generate devise:views:bootstrap_templates

Cette opération permet de copier plusieurs modèles de vue dans app/views/devisemais vous n'êtes intéressé que par app/views/devise/registrations/edit.html.erbIl faut donc supprimer le reste.

Modifiez ensuite le modèle d'édition pour ajouter un champ permettant à l'utilisateur de saisir un numéro de téléphone, directement après le champ de l'adresse électronique :

<div class="form-group">
  <%= f.label :phone_number %> <i>(Leave blank to disable two factor authentication)</i><br />
  <%= f.number_field :phone_number, class: "form-control", placeholder: "e.g. 447555555555 or 1234234234234"  %>
</div>

Enfin, vous devez informer Devise de l'existence de ce paramètre supplémentaire :

app/controllers/application_controller.rb

Pour ajouter un numéro de téléphone à votre Account, exécutez rails server, puis naviguez jusqu'à http://localhost:3000/ et connectez-vous en utilisant les détails du compte que vous avez enregistré à l'étape précédente.

Cliquez sur votre adresse électronique en haut à droite de l'écran, saisissez votre numéro de téléphone et le mot de passe que vous avez utilisé pour vous inscrire, puis cliquez sur Mettre à jour. Votre numéro de téléphone sera alors enregistré dans la base de données.

Authentification à deux facteurs pour la sécurité et la prévention du spam

Apprenez à mettre en œuvre 2fa dans vos Applications Ruby

Étapes
1
Introduction
2
Créer l'application de base
3
Exiger un numéro de téléphone
4
Envoyer la demande de vérification
5
Vérifier le code de vérification
6
Essayez-le !