Verwenden Sie Omniauth zur Authentifizierung Ihrer Benutzer

Gehen Sie sozial oder gehen Sie nach Hause! Dies sollte das Mantra eines jeden Unternehmens im Jahr 2016 sein. Das Online-Territorium hat bereits Einzug in nahezu jedes Unternehmen gehalten und es gibt keinen Ausweg aus dem digitalen Zug, wenn Sie nicht zurückbleiben wollen. Soziale Medien sind für die meisten von uns zur zweiten Natur geworden, und ganz gleich, auf welchen Markt Sie abzielen: Wenn Sie Ihr Publikum nicht dort treffen, wo es sich aufhält, besteht die große Gefahr, dass Ihr Unternehmen ins Hintertreffen gerät. Eine der besten Möglichkeiten, soziale Netzwerke in Ihr Unternehmen zu integrieren, besteht darin, Benutzern die Möglichkeit zu geben, sich über soziale Kanäle bei Ihrem Unternehmen anzumelden.
Omniauth ist ein solch großartiges Juwel, das Ihnen die einfache Integration sozialer Authentifizierungsanbieter, einschließlich Facebook, Google, Twitter und GitHub, für Ihre Ruby on Rails-Webanwendung ermöglicht. Sehen Sie sich die folgenden Schritte an, um zu erfahren, wie Sie diese Authentifizierungsanbieter in Ihre App integrieren.

Nehmen wir an, Sie haben eine Rails-Anwendung mit Devise Gem oder einem anderen Login-System

Öffnen Sie nun Ihre Gemfile und verweisen Sie auf das Omniauth-Gem.

1 Edelstein „Omniauth“

Führen Sie als Nächstes wie üblich den Bundle-Installationsbefehl aus, um das Gem zu installieren.

Erstellen eines Anbieters in sozialen Medien (Facebook)

Um einen Anbieter zu Omniauth hinzuzufügen, müssen Sie sich auf der Website des Anbieters als Entwickler anmelden. Nach der Anmeldung erhalten Sie zwei Zeichenfolgen (so etwas wie einen Benutzernamen und ein Passwort), die Sie an Omniauth weitergeben müssen. Wenn Sie jedoch einen OpenID-Anbieter verwenden, benötigen Sie lediglich die OpenID-URL.

Wenn Sie die Facebook-Authentifizierung verwenden möchten, besuchen Sie Developers.facebook.com/apps und klicken Sie auf „Neue App erstellen“.

Fügen Sie Ihre Anbieter zur App hinzu.

Erstellen Sie unterhalb von config/initializers eine neue Datei mit dem Namen omniauth.rb. Sie können Ihre Authentifizierungsanbieter über diese Datei konfigurieren.

Fügen Sie die folgenden Codes in die Datei ein, die Sie zuvor erstellt haben:

Rails.application.config.middleware.use OmniAuth::Builder tun
Anbieter: Facebook, YOUR_APP_ID, YOUR_APP_SECRET
Ende

Dies ist die gesamte Konfiguration, die Sie benötigen, um dies in Gang zu bringen. Den Rest erledigt Omniauth, wie wir im nächsten Schritt erfahren werden.

Öffnen Sie Ihre Datei app/controllers/sessions_controller.rb und schreiben Sie die Methode zum Erstellen, z. B

auf jeden Fall erstellen
auth_hash = request.env['omniauth.auth']

render :text => auth_hash.inspect
Ende

Erstellen des Benutzermodells

auf jeden Fall erstellen
auth_hash = request.env['omniauth.auth']

@authorization = Authorization.find_by_provider_and_uid(auth_hash[„provider“], auth_hash[„uid“])
wenn @authorization
render :text => „Willkommen zurück #{@authorization.user.name}! Sie haben sich bereits angemeldet.“
anders
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“]
Benutzer.speichern

render :text => „Hallo #{user.name}! Sie haben sich angemeldet.“
Ende
Ende

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

Verweise;

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

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman