Class: AtomicTenant::DeploymentManager::ClientIdStrategy

Inherits:
DeploymentManagerStrategy show all
Defined in:
lib/atomic_tenant/deployment_manager/client_id_strategy.rb

Instance Method Summary collapse

Instance Method Details

#call(decoded_id_token:) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/atomic_tenant/deployment_manager/client_id_strategy.rb', line 10

def call(decoded_id_token:)
  client_id = AtomicLti::Lti.client_id(decoded_id_token)
  iss = decoded_id_token["iss"]

  if (pinned = AtomicTenant::PinnedClientId.find_by(iss: iss, client_id: client_id))
    DeploymentStrategyResult.new(application_instance_id: pinned.application_instance_id)
  else
    DeploymentStrategyResult.new()
  end
end

#nameObject



6
7
8
# File 'lib/atomic_tenant/deployment_manager/client_id_strategy.rb', line 6

def name
  'ClientIdStrategy'
end