module OpenIDTokenProxy::Token::Authentication

Public Instance Methods

current_token() click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 38
def current_token
  @current_token ||= OpenIDTokenProxy::Token.decode!(raw_token)
end
expose_token_expiry_time() click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 34
def expose_token_expiry_time
  response.headers['X-Token-Expiry-Time'] = current_token.expiry_time.iso8601
end
raw_token() click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 42
def raw_token
  token = params[:token]
  return token if token

  authorization = request.headers['Authorization']
  if authorization
    token = authorization[/Bearer (.+)/, 1]
    return token if token
  end

  request.headers['X-Token'] || cookies[:token]
end
require_authorization(exception) click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 24
def require_authorization(exception)
  set_authentication_url!
  render json: exception.to_json, status: :unauthorized
end
require_valid_token() click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 29
def require_valid_token
  config = OpenIDTokenProxy.config
  current_token.validate! audience: config.resource
end
set_authentication_url!() click to toggle source
# File lib/openid_token_proxy/token/authentication.rb, line 19
def set_authentication_url!
  uri = OpenIDTokenProxy.client.authorization_uri
  response.headers['X-Authentication-URL'] = uri
end