Utiliser Omniauth pour authentifier vos utilisateurs

Allez sur les réseaux sociaux ou rentrez chez vous ! Cela devrait être le mantra de toute entreprise en 2016. Le territoire en ligne s'est déjà infiltré dans pratiquement toutes les entreprises et il n'y a aucun moyen de sortir du train numérique si vous ne voulez pas être laissé pour compte. Les médias sociaux sont devenus une seconde nature pour la plupart d'entre nous et quel que soit le marché que vous ciblez, si vous ne rencontrez pas votre public là où il se trouve, votre entreprise court un risque énorme de prendre du retard. L'un des meilleurs moyens d'intégrer les réseaux sociaux dans votre entreprise consiste à permettre aux utilisateurs de se connecter à votre entreprise via les réseaux sociaux.
Omniauth est l'un de ces joyaux qui vous permet d'intégrer facilement des fournisseurs d'authentification sociale, notamment Facebook, Google, Twitter et GitHub, pour votre application Web Ruby on Rails. Consultez les étapes ci-dessous pour savoir comment intégrer ces fournisseurs d'authentification dans votre application.

Supposons que vous ayez une application Rails avec Devise Gem ou tout autre système de connexion.

Ouvrez maintenant votre Gemfile et référencez la gemme omniauth.

1 gemme 'omniauth'

Ensuite, comme d'habitude, exécutez la commande bundle install pour installer la gemme.

Créer un fournisseur sur les réseaux sociaux (Facebook)

Pour ajouter un fournisseur à Omniauth, vous devrez vous inscrire en tant que développeur sur le site du fournisseur. Après votre inscription, vous recevrez deux chaînes (un peu comme un nom d'utilisateur et un mot de passe), que vous devrez transmettre à Omniauth. Cependant, si vous utilisez un fournisseur OpenID, tout ce dont vous avez besoin est l'URL OpenID.

Si vous souhaitez utiliser l'authentification Facebook, visitez Developers.facebook.com/apps et cliquez sur « Créer une nouvelle application ».

Ajoutez vos fournisseurs à l'application.

Créez un nouveau fichier sous config/initializers appelé omniauth.rb. Vous pouvez configurer vos fournisseurs d'authentification via ce fichier.

Ajoutez les codes ci-dessous dans le fichier que vous avez créé précédemment :

Rails.application.config.middleware.use OmniAuth :: Builder faire
fournisseur :facebook, YOUR_APP_ID, YOUR_APP_SECRET
fin

C'est toute la configuration dont vous avez besoin pour que cela démarre. Le reste est pris en charge par Omniauth, comme nous le découvrirons à l'étape suivante.

Ouvrez votre fichier app/controllers/sessions_controller.rb et écrivez la méthode de création, comme

créer par défaut
auth_hash = request.env['omniauth.auth']

render :text => auth_hash.inspect
fin

Création du modèle utilisateur

créer par défaut
auth_hash = request.env['omniauth.auth']

@authorization = Authorization.find_by_provider_and_uid(auth_hash["provider"], auth_hash["uid"])
si @autorisation
render :text => « Bienvenue #{@authorization.user.name} ! Vous êtes déjà inscrit.
autre
user = User.new :name => auth_hash[« user_info »][« name »], :email => auth_hash[« user_info »][« email »]
user.authorizations.build :provider => auth_hash["provider"], :uid => auth_hash["uid"]
utilisateur.save

render :text => « Salut #{user.name} ! Vous êtes inscrit.
fin
fin

list_with_promote=[]
list_without_promote=[]
User.find_by_email(“[email protected]”).listings.approved.each do |u|
si u.listing_promotes.present ?
list_with_promote << u.id
list_with_promote << u.listing_promotes.map{|u| p u.promote.name }
autre
list_without_promote << u.id
fin
p "*******"
fin

Les références;

GitHub : https://github.com/intridea/omniauth

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench