omniauth google - приложение для получения электронной почты

Я просто создаю новое приложение rails, используя devise и omniauth. Моя первая цель - заполнить базу данных идентификатором и адресом электронной почты из аккаунта Google.

К сожалению, до сих пор я получаю только идентификатор.

Это мой пользовательский контроллер:

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and 
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :omniauthable, omniauth_providers: [:google_oauth2]
         attr_accessor :email

         def email_required?
          false
        end 

         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.email = auth.info.email
            user.password = Devise.friendly_token[0,20]
          end
      end
    end

И мой devise.rb

config.omniauth :google_oauth2, ENV['google_client_id'], ENV['google_client_secret'], scope: 'userinfo.profile,youtube,plus.profile.emails.read'

РЕДАКТИРОВАТЬ Я также пробовал другие области, такие как userinfo.email или электронная почта.. но все еще не в базе данных.

Я не понимаю, почему это не работает? заранее спасибо

0 ответов

Другие вопросы по тегам