module GDS::SSO::User::ClassMethods

Public Instance Methods

find_for_gds_oauth(auth_hash) click to toggle source
# File lib/gds-sso/user.rb, line 43
def find_for_gds_oauth(auth_hash)
  user_params = GDS::SSO::User.user_params_from_auth_hash(auth_hash.to_hash)
  user = where(uid: user_params["uid"]).first ||
    where(email: user_params["email"]).first

  if user
    user.update!(user_params)
    user
  else # Create a new user.
    create!(user_params)
  end
end