Eine Notiz für sich selbst von einem ewigen Anfänger. Das Schienenlernen begann 3 Monate. Vorerst würde ich es begrüßen, wenn Sie darüber nachdenken könnten, wie es funktioniert. Wenn Sie der Meinung sind, dass eine solche Person in Ordnung ist, wäre ich Ihnen dankbar, wenn Sie mir einen freundlichen Kommentar geben könnten.
Da die Twitter-Authentifizierung keine E-Mail-Adresse erhält, wird eine zufällige E-Mail-Adresse generiert. Erhalten Sie für die Google- und Facebook-Authentifizierung eine legitime E-Mail-Adresse. Twitter ist eine zufällige Adresse. Andere sind bedingte Verzweigungen mit einer regulären Adresse.
Die Anmeldefunktion von devise wurde implementiert. p>
OmniAuth hat bereits Login-Authentifizierungsfunktionen für Twitter, Google, Facebook usw. implementiert.
Ich habe auf den folgenden Artikel verwiesen p> ・ Verfahrensbezogen https://qiita.com/kazuooooo/items/47e7d426cbb33355590e ・ Einführung von OmniAuth https://qiita.com/LuckHackMahiro/items/9dfca6e67777a2161240
app/models/user.rb
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.password = Devise.friendly_token[0, 20]
user.email = auth.info.email #google,Zum Zeitpunkt von Facebook
user.email = User.dummy_email(auth) if user.provider == "twitter" #Zum Zeitpunkt von Twitter
avatar = open("#{auth.info.image}")
user.image.attach(io: avatar, filename: "user_avatar.jpg ")
end
end
Wenn ja, eine zufällige Adresse auf Twitter. Ich konnte eine legitime Adresse auf Google und Facebook erhalten.
Ich war froh, dass die bedingte Verzweigung gut verlief.