[RUBY] Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte

Dieses Mal habe ich zusammengefasst, worauf ich bei der Implementierung der Google-Authentifizierung mit Rails süchtig war. Artikel, auf die ich bei der Implementierung der Google-Authentifizierung verwiesen habe ↓ [Rails] Implementieren Sie die Benutzerregistrierung auf Facebook / Twitter / Google mit Devise & Omniauth mit explosiver Geschwindigkeit

Fehler 400: invalid_request Erforderlicher Parameter fehlt: client_id

Erster. Dies ist ein Fehler, der aufgetreten ist, als ich versucht habe, mich durch Auswahl eines Kontos auf der Google-Authentifizierungsseite zu authentifizieren. Mir wurde gesagt, dass es keine client_id gibt. Es gibt zwei Ursachen ① Es gab ein Leerzeichen ② Der Schlüssel wurde ohne Verwendung von .env eingegeben

① Raum

devise.rb


config.omniauth :google_oauth2, ENV['GOOGLE_CLIENT_ID'] ,ENV['GOOGLE_CLIENT_SECRET'], skip_jwt: true

Von

devise.rb


config.omniauth :google_oauth2,ENV['GOOGLE_CLIENT_ID'],ENV['GOOGLE_CLIENT_SECRET'],skip_jwt: true

Gewechselt zu. Es sieht so aus, als hätte ich keinen Platz gebraucht. Auf der Referenzstelle war Platz.

② Der Schlüssel wurde ohne Verwendung von .env eingegeben Soweit ich von anderen Websites aus sehen kann, scheinen einige Leute so zu gehen, wie es ist, aber es hat in meiner Umgebung nicht funktioniert. Wenn Sie es nicht lösen können, fügen Sie gem'dotenv-Rails hinzu.

Die E-Mail-Authentifizierung wird nicht durchgeführt

Das nächste, was herauskam, war dieser Fehler Wenn Sie dies normal tun, wird es angezeigt, wenn die E-Mail nicht authentifiziert ist. das ist

qiita.rb


class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  # callback for google
  def google_oauth2
    callback_for(:google)
  end

  # common callback method
  def callback_for(provider)
    @user = User.from_omniauth(request.env["omniauth.auth"])
    @user.skip_confirmation!← damit
    @user.save!← Das!
    if @user.persisted?
      sign_in_and_redirect @user, event: :authentication #this will throw if @user is not activated
      set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
    else
      session["devise.#{provider}_data"] = request.env["omniauth.auth"].except("extra")
      redirect_to new_user_registration_url
    end
  end

  def failure
    redirect_to root_path
  end
  
end

@user.skip_confirmation! @user.save! Wurde durch Einlegen in den Controller gelöst.

Kleine Werbung

Ich habe eine App namens Public Diary erstellt. Es ist eine App, mit der Sie Ihr Tagebuch veröffentlichen können (es ist möglich, es nicht zu veröffentlichen). Ich bin der einzige, der es verwendet (Weinen). Bitte überprüfen Sie es, da es fast täglich aktualisiert wird. Bitte.

URL: https://public-diary.herokuapp.com/

Zusammenfassung

Eigentlich habe ich ungefähr viermal versucht, die sns-Authentifizierung zu implementieren, und bin wiederholt fehlgeschlagen. Diesmal konnte ich es zum ersten Mal machen, aber ich war sehr glücklich, als es fertig war. Vielen Dank für das bisherige Anschauen.

Recommended Posts

Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Wovon ich süchtig war, als ich rspec auf Schienen benutzte
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Was ich mit der Redmine REST API süchtig gemacht habe
Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
[Rails] Ich war süchtig nach den Nginx-Einstellungen, als ich Action Cable verwendete.
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Ich war süchtig danach, sbt zu starten
Ich war süchtig nach WSl, als ich versuchte, mit Vue.js eine Entwicklungsumgebung für Android-Anwendungen zu erstellen
Ein Hinweis, als ich süchtig danach war, Ubuntu auf WSL1 in WSL2 zu konvertieren
[Rails] Ich möchte beim Übergang mit link_to Daten zu Params hinzufügen
Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben
Ich war süchtig nach der Rollmethode
Ich war süchtig nach dem Spring-Batch-Test
[Rails] So lösen Sie ActiveSupport :: MessageVerifier :: InvalidSignature, von dem ich bei der Einführung des Twitter-Logins abhängig war [ActiveStorage]
Eine Geschichte, der ich beim Testen der API mit MockMVC verfallen war
Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem
[Circle CI] Ich war süchtig nach dem automatischen Test von Circle CI (Rails + MySQL) [Memo]
Ich war süchtig nach Unit-Tests mit dem Pufferoperator in RxJava
Ich war süchtig nach RXTX mit Sierra
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich möchte mit Firestore von Rails spielen
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
[Rails] Ich möchte CSS mit Webpacker laden
SpringSecurity Ich war süchtig danach, mich mit einem Hash-Passwort anzumelden (gelöst)
Ich habe versucht, was ich mit Stream leise versuchen wollte.
Was ist nach der Installation von 'devise' 'bootstrap' von gemfile with Rails zu tun, wenn url ein Fehler ist?
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Beim Importieren von CSV mit Rails war es wirklich einfach, den Befehl nkf zu verwenden
Süchtig nach dem Webpacker, der standardmäßig mit Rails 6 geliefert wird
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Als ich versuchte, mit JScrollBar automatisch zu scrollen, wurde der Ereignishandler nur einmal gezeichnet.
Als ich versuchte, Azure Kinect DK mit Docker auszuführen, wurde es von EULA blockiert
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Eine Geschichte, die mich während des Komponententests von der impliziten Typkonvertierung von ActiveRecord abhängig machte
So generieren Sie automatisch ein ER-Diagramm bei der Migration mit Rails 6
Festlegen von Umgebungsvariablen bei Verwendung von Payjp mit Rails
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
Ich möchte eine mit Rails 6 erstellte App an GitHub senden
Ich bin von Rails gekommen und wusste nicht, was [attr_accessor] ist
Ich war süchtig danach, die Update-Anweisung in MyBatis zu wiederholen
Was zu überprüfen ist, wenn Schienen db: Migration nicht bestanden
So geben Sie db beim Erstellen einer App mit Rails an
Ich war süchtig nach Laradock + VSCode + xdebug
[Rails] Ich habe versucht, die Stapelverarbeitung mit der Rake-Task zu implementieren
Was passiert mit Instanzvariablen beim Kopieren einer Instanz mit Ruby?
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden