Class: Maestrano::SSO::BaseUser

Inherits:
Object
  • Object
show all
Defined in:
lib/maestrano/sso/base_user.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(saml_response) ⇒ BaseUser

Initializer

Parameters:

  • Maestrano::SAML::Response


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/maestrano/sso/base_user.rb', line 11

def initialize(saml_response)
  att = saml_response.attributes
  @sso_session = att['mno_session']
  @sso_session_recheck = Time.iso8601(att['mno_session_recheck'])
  @group_uid = att['group_uid']
  @group_role = att['group_role']
  @uid = att['uid']
  @virtual_uid = att['virtual_uid']
  @email = att['email']
  @virtual_email = att['virtual_email']
  @first_name = att['name']
  @last_name = att['surname']
  @country = att['country']
  @company_name = att['company_name']
end

Instance Attribute Details

#company_nameObject (readonly)

Returns the value of attribute company_name.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def company_name
  @company_name
end

#countryObject (readonly)

Returns the value of attribute country.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def country
  @country
end

#emailObject (readonly)

Returns the value of attribute email.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def email
  @email
end

#first_nameObject (readonly)

Returns the value of attribute first_name.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def first_name
  @first_name
end

#group_roleObject (readonly)

Returns the value of attribute group_role.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def group_role
  @group_role
end

#group_uidObject (readonly)

Returns the value of attribute group_uid.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def group_uid
  @group_uid
end

#last_nameObject (readonly)

Returns the value of attribute last_name.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def last_name
  @last_name
end

#local_idObject

Returns the value of attribute local_id.



4
5
6
# File 'lib/maestrano/sso/base_user.rb', line 4

def local_id
  @local_id
end

#sso_sessionObject (readonly)

Returns the value of attribute sso_session.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def sso_session
  @sso_session
end

#sso_session_recheckObject (readonly)

Returns the value of attribute sso_session_recheck.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def sso_session_recheck
  @sso_session_recheck
end

#uidObject (readonly)

Returns the value of attribute uid.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def uid
  @uid
end

#virtual_emailObject (readonly)

Returns the value of attribute virtual_email.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def virtual_email
  @virtual_email
end

#virtual_uidObject (readonly)

Returns the value of attribute virtual_uid.



5
6
7
# File 'lib/maestrano/sso/base_user.rb', line 5

def virtual_uid
  @virtual_uid
end

Instance Method Details

#to_emailObject



35
36
37
38
39
40
41
# File 'lib/maestrano/sso/base_user.rb', line 35

def to_email
  if Maestrano.param('sso.creation_mode') == 'real'
    return self.email
  else
    return self.virtual_email
  end
end

#to_hashObject

Hash representation of the resource



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/maestrano/sso/base_user.rb', line 44

def to_hash
  {
    provider: 'maestrano',
    uid: self.to_uid,
    info: {
      email: self.to_email,
      first_name: self.first_name,
      last_name: self.last_name,
      country: self.country,
      company_name: self.company_name,
    },
    extra: {
      uid: self.uid,
      virtual_uid: self.virtual_uid,
      real_email: self.email,
      virtual_email: self.virtual_email,
      group: {
        uid: self.group_uid,
        role: self.group_role,
      },
      session: {
        uid: self.uid,
        token: self.sso_session,
        recheck: self.sso_session_recheck,
        group_uid: self.group_uid
      },
    }
  }
end

#to_uidObject



27
28
29
30
31
32
33
# File 'lib/maestrano/sso/base_user.rb', line 27

def to_uid
  if Maestrano.param('sso.creation_mode') == 'real'
    return self.uid
  else
    return self.virtual_uid
  end
end