Module: Legion::Extensions::Identity::Ldap::Identity

Defined in:
lib/legion/extensions/identity/ldap/identity.rb

Class Method Summary collapse

Class Method Details

.capabilitiesObject



18
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 18

def capabilities   = %i[profile groups]

.facingObject



14
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 14

def facing         = nil

.group_sync_helperObject



35
36
37
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 35

def group_sync_helper
  Object.new.extend(Helpers::GroupSync)
end

.normalize(val) ⇒ Object



31
32
33
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 31

def normalize(val)
  val.to_s.downcase.strip
end

.priorityObject



15
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 15

def priority       = 0

.provider_nameObject



12
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 12

def provider_name  = :ldap

.provider_typeObject



13
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 13

def provider_type  = :profile

.resolve(canonical_name:) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 20

def resolve(canonical_name:)
  name = normalize(canonical_name)
  return nil if name.empty?

  result = group_sync_helper.resolve_profile(canonical_name: name)
  return nil if result.nil?
  return nil unless result[:success]

  { groups: result[:groups], profile: result[:profile] }
end

.trust_levelObject



17
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 17

def trust_level    = :verified

.trust_weightObject



16
# File 'lib/legion/extensions/identity/ldap/identity.rb', line 16

def trust_weight   = 10