class Prof::UAAClient

Attributes

cloud_controller_password[R]
cloud_controller_username[R]
system_domain[R]

Public Class Methods

new(system_domain, cloud_controller_username, cloud_controller_password) click to toggle source
# File lib/prof/uaa_client.rb, line 15
def initialize(system_domain, cloud_controller_username, cloud_controller_password)
  @system_domain             = system_domain
  @cloud_controller_username = cloud_controller_username
  @cloud_controller_password = cloud_controller_password
end

Public Instance Methods

register_user(user) click to toggle source
# File lib/prof/uaa_client.rb, line 21
def register_user(user)
  scim.add(:user, scim_info(user))
end
unregister_user(user) click to toggle source
# File lib/prof/uaa_client.rb, line 25
def unregister_user(user)
  scim.delete(:user, scim.id(:user, user.username))
end

Private Instance Methods

auth_header() click to toggle source
# File lib/prof/uaa_client.rb, line 49
def auth_header
  token_issuer.client_credentials_grant.auth_header
end
scim() click to toggle source
# File lib/prof/uaa_client.rb, line 41
def scim
  CF::UAA::Scim.new(
    uaa_url,
    auth_header,
    skip_ssl_validation: true
  )
end
scim_info(user) click to toggle source
# File lib/prof/uaa_client.rb, line 33
def scim_info(user)
  {
    userName: user.username,
    password: user.password,
    emails: [{value: user.email}]
  }
end
token_issuer() click to toggle source
# File lib/prof/uaa_client.rb, line 53
def token_issuer
  CF::UAA::TokenIssuer.new(
    uaa_url,
    cloud_controller_username,
    cloud_controller_password,
    skip_ssl_validation: true
  )
end
uaa_url() click to toggle source
# File lib/prof/uaa_client.rb, line 62
def uaa_url
  "https://uaa.#{system_domain}"
end