module Zaikio::Directory
Constants
- VERSION
Attributes
configuration[RW]
Public Class Methods
configure() { |configuration| ... }
click to toggle source
# File lib/zaikio/directory.rb, line 36 def configure self.connection = nil self.configuration ||= Configuration.new yield(configuration) Base.connection = create_connection end
create_connection()
click to toggle source
# File lib/zaikio/directory.rb, line 66 def create_connection self.connection = Faraday.new(url: "#{configuration.host}/api/v1", ssl: { verify: configuration.environment != :test }) do |c| c.request :json c.response :logger, configuration&.logger c.use JSONParser c.use AuthorizationMiddleware c.use BasicAuthMiddleware c.adapter Faraday.default_adapter end end
current_token_data()
click to toggle source
# File lib/zaikio/directory.rb, line 58 def current_token_data return unless AuthorizationMiddleware.token payload = JWT.decode(AuthorizationMiddleware.token, nil, false).first create_token_data(payload) end
with_basic_auth(login, password) { || ... }
click to toggle source
# File lib/zaikio/directory.rb, line 51 def with_basic_auth(login, password) BasicAuthMiddleware.credentials = [login, password] yield ensure BasicAuthMiddleware.reset_credentials end
with_token(token) { || ... }
click to toggle source
# File lib/zaikio/directory.rb, line 44 def with_token(token) AuthorizationMiddleware.token = token yield ensure AuthorizationMiddleware.reset_token end
Private Class Methods
create_token_data(payload)
click to toggle source
# File lib/zaikio/directory.rb, line 80 def create_token_data(payload) subjects = payload["sub"].split(">") OpenStruct.new( audience: payload["aud"].first, on_behalf_of_id: subjects.first.split("/").last, subject_id: subjects.last.split("/").last, subject_type: subjects.last.split("/").first, scopes: payload["scope"] ) end