Sha256: e11150230cd252fbc457b82a3bc5b4f5f524a17e991be664793621bdd086e662
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
# frozen_string_literal: true require 'g5_authenticatable_api/services/token_validator' require 'g5_authenticatable_api/services/user_fetcher' module G5AuthenticatableApi module Helpers # Helpers for rails API controllers module Rails def authenticate_api_user! raise_auth_error unless token_validator.valid? end def token_data @token_data ||= token_info.token_data end def current_api_user @current_api_user ||= user_fetcher.current_user end def access_token @access_token ||= token_info.access_token end def warden request.env['warden'] end private def token_info @token_info ||= Services::TokenInfo.new( request.params, request.headers, warden ) end def token_validator @token_validator ||= Services::TokenValidator.new( request.params, request.headers, warden ) end def user_fetcher @user_fetcher ||= Services::UserFetcher.new( request.params, request.headers, warden ) end def raise_auth_error auth_header = token_validator.auth_response_header response.headers['WWW-Authenticate'] = auth_header render json: { error: 'Unauthorized' }, status: :unauthorized end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
g5_authenticatable_api-1.0.0 | lib/g5_authenticatable_api/helpers/rails.rb |
g5_authenticatable_api-1.0.0.pre.1 | lib/g5_authenticatable_api/helpers/rails.rb |