Usare Omniauth per autenticare i tuoi utenti

Vai sui social o vai a casa! Questo dovrebbe essere il mantra di ogni azienda nel 2016. Il territorio online si è già fatto strada praticamente in ogni azienda e non c'è via d'uscita dal carrozzone digitale se non si vuole rimanere indietro. I social media sono diventati una seconda natura per la maggior parte di noi e, indipendentemente dal mercato a cui ti rivolgi, se non incontri il tuo pubblico dove si ritrova, la tua attività corre un enorme rischio di rimanere indietro. Uno dei modi migliori per integrare i social nella tua attività è consentire agli utenti di accedere alla tua attività tramite i canali social.
Omniauth è uno di questi grandi gioielli che ti consente di integrare facilmente i fornitori di autenticazione sociale, tra cui Facebook, Google, Twitter e GitHub per la tua applicazione web Ruby on Rails. Dai un'occhiata ai passaggi seguenti per scoprire come integrare questi provider di autenticazione nella tua app.

Supponiamo che tu abbia un'applicazione rails con idea gem o qualsiasi altro sistema di accesso

Ora apri il tuo Gemfile e fai riferimento alla gemma omniauth.

1 gemma 'omniauth'

Successivamente, come al solito, esegui il comando bundle install per installare il gem.

Creazione di un fornitore sui social media (Facebook)

Per aggiungere un provider a Omniauth, dovrai registrarti come sviluppatore sul sito dei provider. Dopo la registrazione, ti verranno fornite due stringhe (una specie di nome utente e password), che dovrai trasmettere a Omniauth. Tuttavia, se utilizzi un provider OpenID, tutto ciò di cui hai bisogno è l'URL OpenID.

Se desideri utilizzare l'autenticazione di Facebook, visita sviluppatori.facebook.com/apps e fai clic su "Crea nuova app"

Aggiungi i tuoi provider all'app.

Crea un nuovo file sotto config/initializers chiamato omniauth.rb. Puoi configurare i tuoi provider di autenticazione tramite questo file.

Aggiungi i codici seguenti nel file che hai creato in precedenza:

Rails.application.config.middleware.use OmniAuth::Builder lo fanno
fornitore: Facebook, YOUR_APP_ID, YOUR_APP_SECRET
FINE

Questa è tutta la configurazione necessaria per far funzionare tutto questo. Del resto si occupa Omniauth, come vedremo nel passaggio successivo.

Apri il tuo file app/controllers/sessions_controller.rb e scrivi il metodo di creazione, ad esempio

sicuramente creare
auth_hash = request.env['omniauth.auth']

render :text => auth_hash.inspect
FINE

Creazione del modello utente

sicuramente creare
auth_hash = request.env['omniauth.auth']

@authorization = Authorization.find_by_provider_and_uid(auth_hash[“provider”], auth_hash[“uid”])
se @autorizzazione
render :text => “Bentornato #{@authorization.user.name}! Ti sei già iscritto."
altro
utente = Utente.new :nome => auth_hash[“info_utente”][“nome”], :email => auth_hash[“info_utente”][“email”]
user.authorizations.build :provider => auth_hash[“provider”], :uid => auth_hash[“uid”]
utente.save

render :text => “Ciao #{nome.utente}! Ti sei iscritto."
FINE
FINE

list_with_promote=[]
list_without_promote=[]
User.find_by_email(“[email protected]”).listings.approved.each fa |u|
se u.listing_promotes.present?
list_with_promote << u.id
list_with_promote << u.listing_promotes.map{|u| p u.promuovi.nome }
altro
lista_senza_promuovere << u.id
FINE
P "*******"
FINE

Riferimenti;

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

Iscriviti per gli ultimi aggiornamenti

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItalian