Vous allez installer devise
, un module sécurisé d'inscription et connexion qui va nous permettre de mettre en place rapidement le module d'authentification de notre application.
Dans le gemfile
gem 'devise'
Installer le gem avez bundle install
dans le terminal.
Ensuite vous allez taper dans la console
rails generate devise:install
Device va charger et installer différents fichiers pour vous.
Vous allez aussi générer notre table Utilisateur (User), en tapant dans le terminal la commande :
rails generate devise User
On constate la création du model User
dans app/models
et un fichier de migration pour la création de la table User dans db/migrate
.
Afin de créer réellement la table User, vous allez exécuter la migration
rake db:migrate
Générer la création des vues (formulaires) de device
rails g devise:views
Cette commande crée toutes les pages de devise: connexion, inscription, mise à jour du profile...
Pour chaque action (exemple: connexion / inscription) on a maintenant une page avec laquelle les utilisateurs pourront interagir et donc s'inscrire ou se connecter.
Vous allez ensuite ajouté dans application.html.erb
entre les balises l'affichage des notifications:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
Pour tester un peu ce qu'on vient de faire, vous pouvez ajouter 3 liens à notre page d’accueil pour accéder aux pages 'Inscription', 'Connexion' et 'Déconnexion' dans home.html.erb
:
<%= link_to 'Inscription', new_user_registration_path %>
<%= link_to 'Identification', new_user_session_path %>
<%= link_to 'Déconnexion', destroy_user_session_path, method: :delete %>
Vous pouvez ensuite mettre à jour le fichir routes.rb
pour changer les chemins d’accès et configurer device.
devise_for :users, path: 'auth',
path_names: {
sign_in: 'login',
sign_out: 'logout',
edit: 'profile'
}
Pour aller plus loin: