module PowerApi::GeneratorHelper::SimpleTokenAuthHelper
Public Instance Methods
authenticated_resource=(value)
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 27 def authenticated_resource=(value) return if value.blank? @authenticated_resource = SimpleTokenAuthResource.new(value) end
authenticated_resource?()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 33 def authenticated_resource? !!authenticated_resource end
authenticated_resources=(values)
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 23 def authenticated_resources=(values) @authenticated_resources = values.map { |value| SimpleTokenAuthResource.new(value) } end
current_authenticated_resource()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 41 def current_authenticated_resource "current_#{authenticated_resource.snake_case}" end
owned_by_authenticated_resource?()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 37 def owned_by_authenticated_resource? owned_by_authenticated_resource && authenticated_resource? && !parent_resource? end
simple_token_auth_initializer_path()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 52 def simple_token_auth_initializer_path "config/initializers/simple_token_authentication.rb" end
simple_token_auth_initializer_tpl()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 56 def simple_token_auth_initializer_tpl <<~INITIALIZER SimpleTokenAuthentication.configure do |config| # Configure the session persistence policy after a successful sign in, # in other words, if the authentication token acts as a signin token. # If true, user is stored in the session and the authentication token and # email may be provided only once. # If false, users must provide their authentication token and email at every request. # config.sign_in_token = false # Configure the name of the HTTP headers watched for authentication. # # Default header names for a given token authenticatable entity follow the pattern: # { entity: { authentication_token: 'X-Entity-Token', email: 'X-Entity-Email'} } # # When several token authenticatable models are defined, custom header names # can be specified for none, any, or all of them. # # Note: when using the identifiers options, this option behaviour is modified. # Please see the example below. # # Examples # # Given User and SuperAdmin are token authenticatable, # When the following configuration is used: # `config.header_names = { super_admin: { authentication_token: 'X-Admin-Auth-Token' } }` # Then the token authentification handler for User watches the following headers: # `X-User-Token, X-User-Email` # And the token authentification handler for SuperAdmin watches the following headers: # `X-Admin-Auth-Token, X-SuperAdmin-Email` # # When the identifiers option is set: # `config.identifiers = { super_admin: :phone_number }` # Then both the header names identifier key and default value are modified accordingly: # `config.header_names = { super_admin: { phone_number: 'X-SuperAdmin-PhoneNumber' } }` # # config.header_names = { user: { authentication_token: 'X-User-Token', email: 'X-User-Email' } } # Configure the name of the attribute used to identify the user for authentication. # That attribute must exist in your model. # # The default identifiers follow the pattern: # { entity: 'email' } # # Note: the identifer must match your Devise configuration, # see https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address#tell-devise-to-use-username-in-the-authentication_keys # # Note: setting this option does modify the header_names behaviour, # see the header_names section above. # # Example: # # `config.identifiers = { super_admin: 'phone_number', user: 'uuid' }` # # config.identifiers = { user: 'email' } # Configure the Devise trackable strategy integration. # # If true, tracking is disabled for token authentication: signing in through # token authentication won't modify the Devise trackable statistics. # # If false, given Devise trackable is configured for the relevant model, # then signing in through token authentication will be tracked as any other sign in. # # config.skip_devise_trackable = true end INITIALIZER end
simple_token_auth_method()
click to toggle source
# File lib/power_api/generator_helper/simple_token_auth_helper.rb, line 45 def simple_token_auth_method <<-METHOD acts_as_token_authenticatable METHOD end