Module: Cul::Omniauth::Users::ClassMethods

Defined in:
app/models/concerns/cul/omniauth/users.rb

Instance Method Summary collapse

Instance Method Details

#find_for_cas(token, resource = nil) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'app/models/concerns/cul/omniauth/users.rb', line 26

def find_for_cas(token, resource=nil)
  user = where(:login => token.uid).first
  # create new user if necessary
  unless user
    user = create(whitelist(:login => token.uid))
    # can we add groups or roles here?
  end
  user
end

#find_for_saml(token, resource = nil) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'app/models/concerns/cul/omniauth/users.rb', line 36

def find_for_saml(token, resource=nil)
  user = where(:login => token.uid).first
  # create new user if necessary
  unless user
    user = create(whitelist(:login => token.uid))
    # can we add groups or roles here?
  end

  user
end

#find_for_wind(token, resource = nil) ⇒ Object



47
48
49
50
51
52
53
54
55
56
# File 'app/models/concerns/cul/omniauth/users.rb', line 47

def find_for_wind(token, resource=nil)
  user = where(:login => token.uid).first
  # create new user if necessary
  unless user
    user = create(whitelist(:login => token.uid))
    # can we add groups or roles here?
  end

  user
end

#from_omniauth(auth) ⇒ Object



58
59
60
61
62
63
64
65
# File 'app/models/concerns/cul/omniauth/users.rb', line 58

def from_omniauth(auth)
  where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
    user.email = auth.info.email
    user.password = Devise.friendly_token[0,20]
    user.name = auth.info.name   # assuming the user model has a name
    user.image = auth.info.image # assuming the user model has an image
  end
end