Une note pour vous-même par un éternel débutant. L'apprentissage des rails a commencé 3 mois. Pour le moment, j'apprécierais que vous réfléchissiez à son fonctionnement. Si vous pensez qu'une telle personne est bien, je vous serais reconnaissant de bien vouloir me faire un commentaire aimable.
Enregistrez l'image de profil de l'utilisateur dans le stockage actif. Même lorsque j'ai cherché sur Google, je n'ai pas vu beaucoup d'articles sur le stockage actif avec uniquement des ondes porteuses, alors je l'ai posté en espérant qu'il y aurait des gens dans la même situation.
La fonction de connexion par appareil a été implémentée. p>
OmniAuth a déjà implémenté des fonctions d'authentification de connexion pour Twitter, google, facebook, etc.
J'ai fait référence à l'article suivant p> ・ Lié à la procédure https://qiita.com/kazuooooo/items/47e7d426cbb33355590e ・ Introduction d'OmniAuth https://qiita.com/LuckHackMahiro/items/9dfca6e67777a2161240
C'était très utile! Merci beaucoup.
app/models/user.rb
require "open-uri" #ici
class User < ApplicationRecord
#réduction
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
user.email = User.dummy_email(auth) if user.provider == "twitter"
avatar = open("#{auth.info.image}") #ici
user.image.attach(io: avatar, filename: "user_avatar.jpg ") #ici
end
end
#réduction
end
J'ai pu obtenir l'image en me référant à l'article. Je n'ai pas vu beaucoup d'articles sur le stockage actif, donc c'était très utile.
Selon la rumeur, l'image serait petite et rugueuse, alors j'ai essayé de lui donner l'impression qu'elle serait plus grande. Certains l'ont spécifié du côté du modèle en regardant diverses choses.
config/initializers/devise.rb
config.omniauth :facebook, ENV['FACEBOOK_ID'], ENV['FACEBOOK_SECRET_KEY'], :image_size => 'large'#cette
config.omniauth :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET']
config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['TWITTER_API_SECRET_KEY'], callback_url: "http://localhost:3000/users/auth/twitter/callback", :image_size => 'original'#cette
La mise en œuvre liée à l'authentification de connexion peut ne pas fonctionner correctement selon l'heure de la journée, ou elle peut ne pas fonctionner correctement si les cookies restent dans le navigateur, il semble donc bon de le faire patiemment.
Recommended Posts