Class: Aid::Auth::Strategies::KratosDirectV1

Inherits:
BaseStrategy show all
Defined in:
lib/aid/auth/strategies/kratos_direct_v1.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = KratosDirectV1Config.new, context) ⇒ KratosDirectV1

Returns a new instance of KratosDirectV1.



34
35
36
37
38
39
40
41
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 34

def initialize(config=KratosDirectV1Config.new, context)
  if config.is_a?(Hash)
    @config = KratosDirectV1Config.new(**config)
  elsif config.is_a?(KratosDirectV1Config)
    @config = config
  end
  @context = context
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



27
28
29
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 27

def config
  @config
end

#contextObject

Returns the value of attribute context.



27
28
29
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 27

def context
  @context
end

Class Method Details

.should_use?(ctx, config) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 29

def self.should_use?(ctx, config)
  conf = config.is_a?(KratosDirectV1Config) ? config :  KratosDirectV1Config.new(**config)
  ctx.cookies[conf.kratos_cookie_name].present? || ctx.env[conf.kratos_token_header_name].present?
end

Instance Method Details

#authenticated?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 47

def authenticated?
  session&.active
end

#current_user_idObject



43
44
45
# File 'lib/aid/auth/strategies/kratos_direct_v1.rb', line 43

def current_user_id
  session&.identity&.id
end