Module: EdemOauthUser::FindOrCreate

Defined in:
lib/edem_oauth_user/find_or_create.rb

Instance Method Summary collapse

Instance Method Details

#find_or_create_by_oauth(auth) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/edem_oauth_user/find_or_create.rb', line 3

def find_or_create_by_oauth(auth)
  res = find_or_create_by(uid: auth['uid'], provider: auth['provider']) do |user|
    user.email = auth.dig('info', 'email')
    user.password = SecureRandom.hex
  end
  res.access_token = auth.credentials.token
  res.refresh_token = auth.credentials.refresh_token

  res

end