Class: Maestrano::SSO::BaseUser

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Preset

included

Constructor Details

#initialize(saml_response) ⇒ BaseUser

Initializer

Parameters:

  • Maestrano::SAML::Response


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

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_name = att['group_name']
  @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.



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

def company_name
  @company_name
end

#countryObject (readonly)

Returns the value of attribute country.



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

def country
  @country
end

#emailObject (readonly)

Returns the value of attribute email.



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

def email
  @email
end

#first_nameObject (readonly)

Returns the value of attribute first_name.



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

def first_name
  @first_name
end

#group_nameObject (readonly)

Returns the value of attribute group_name.



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

def group_name
  @group_name
end

#group_roleObject (readonly)

Returns the value of attribute group_role.



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

def group_role
  @group_role
end

#group_uidObject (readonly)

Returns the value of attribute group_uid.



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

def group_uid
  @group_uid
end

#last_nameObject (readonly)

Returns the value of attribute last_name.



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

def last_name
  @last_name
end

#local_idObject

Returns the value of attribute local_id.



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

def local_id
  @local_id
end

#sso_sessionObject (readonly)

Returns the value of attribute sso_session.



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

def sso_session
  @sso_session
end

#sso_session_recheckObject (readonly)

Returns the value of attribute sso_session_recheck.



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

def sso_session_recheck
  @sso_session_recheck
end

#uidObject (readonly)

Returns the value of attribute uid.



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

def uid
  @uid
end

#virtual_emailObject (readonly)

Returns the value of attribute virtual_email.



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

def virtual_email
  @virtual_email
end

#virtual_uidObject (readonly)

Returns the value of attribute virtual_uid.



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

def virtual_uid
  @virtual_uid
end

Instance Method Details

#to_emailObject



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

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

#to_hashObject

Hash representation of the resource



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
73
74
75
# File 'lib/maestrano/sso/base_user.rb', line 46

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,
        name: self.group_name,
        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



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

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