67 lines
1.7 KiB
Ruby
67 lines
1.7 KiB
Ruby
require "knock/version"
|
|
require "knock/authenticable"
|
|
|
|
Knock.setup do |config|
|
|
|
|
## Expiration claim
|
|
## ----------------
|
|
##
|
|
## How long before a token is expired. If nil is provided, token will
|
|
## last forever.
|
|
##
|
|
## Default:
|
|
config.token_lifetime = 10.years
|
|
|
|
|
|
## Audience claim
|
|
## --------------
|
|
##
|
|
## Configure the audience claim to identify the recipients that the token
|
|
## is intended for.
|
|
##
|
|
## Default:
|
|
# config.token_audience = nil
|
|
|
|
## If using Auth0, uncomment the line below
|
|
# config.token_audience = -> { Rails.application.secrets.auth0_client_id }
|
|
|
|
## Signature algorithm
|
|
## -------------------
|
|
##
|
|
## Configure the algorithm used to encode the token
|
|
##
|
|
## Default:
|
|
# config.token_signature_algorithm = 'HS256'
|
|
|
|
## Signature key
|
|
## -------------
|
|
##
|
|
## Configure the key used to sign tokens.
|
|
##
|
|
## Default:
|
|
# config.token_secret_signature_key = -> { Rails.application.secrets.secret_key_base }
|
|
# Default does not work in production, other does not work in dev
|
|
# When combined, they become: working configuration!
|
|
config.token_secret_signature_key = -> {
|
|
Rails.application.secrets.secret_key_base || Rails.application.credentials.secret_key_base
|
|
}
|
|
## If using Auth0, uncomment the line below
|
|
# config.token_secret_signature_key = -> { JWT.base64url_decode Rails.application.secrets.auth0_client_secret }
|
|
|
|
## Public key
|
|
## ----------
|
|
##
|
|
## Configure the public key used to decode tokens, if required.
|
|
##
|
|
## Default:
|
|
# config.token_public_key = nil
|
|
|
|
## Exception Class
|
|
## ---------------
|
|
##
|
|
## Configure the exception to be used when user cannot be found.
|
|
##
|
|
## Default:
|
|
# config.not_found_exception_class_name = 'ActiveRecord::RecordNotFound'
|
|
end
|