class KeycloakAdmin::ImpersonationRepresentation

Attributes

domain[RW]
redirect[RW]
same_realm[RW]
set_cookies[RW]

Public Class Methods

from_response(response, origin) click to toggle source
# File lib/keycloak-admin/representation/impersonation_representation.rb, line 11
def self.from_response(response, origin)
  body                              = JSON.parse(response.body)
  representation                    = new
  representation.set_cookie_strings = response.headers[:set_cookie]
  representation.set_cookies        = representation.set_cookie_strings.map { |set_cookie| parse_set_cookie_string(set_cookie, origin) }
  representation.same_realm         = body["sameRealm"]
  representation.redirect           = body["redirect"]
  representation.domain             = origin
  representation
end

Public Instance Methods

cookies_to_rails_hash() click to toggle source
# File lib/keycloak-admin/representation/impersonation_representation.rb, line 26
def cookies_to_rails_hash
  @set_cookies.map do |cookie|
    rails_cookie = {
      name:     cookie.name,
      value:    cookie.value,
      httponly: cookie.httponly,
      expires:  cookie.expires,
      path:     cookie.path,
      domain:   cookie.domain
    }
  
    rails_cookie[:max_age] = cookie.max_age if cookie.max_age
    rails_cookie[:secure]  = cookie.secure  if cookie.secure
    rails_cookie
  end
end