Module: OpenIDTokenProxy::Token::Authentication
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/openid_token_proxy/token/authentication.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #current_token ⇒ Object
- #expose_token_expiry_time ⇒ Object
- #raw_token ⇒ Object
- #require_authorization(exception) ⇒ Object
- #require_valid_token ⇒ Object
- #set_authentication_url! ⇒ Object
Instance Method Details
#current_token ⇒ Object
39 40 41 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 39 def current_token @current_token ||= OpenIDTokenProxy::Token.decode!(raw_token) end |
#expose_token_expiry_time ⇒ Object
35 36 37 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 35 def expose_token_expiry_time response.headers['X-Token-Expiry-Time'] = current_token.expiry_time.iso8601 end |
#raw_token ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 43 def raw_token token = params[:token] return token if token = request.headers['Authorization'] if token = [/Bearer (.+)/, 1] return token if token end request.headers['X-Token'] end |
#require_authorization(exception) ⇒ Object
24 25 26 27 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 24 def (exception) set_authentication_url! render json: exception.to_json, status: :unauthorized end |
#require_valid_token ⇒ Object
29 30 31 32 33 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 29 def require_valid_token config = OpenIDTokenProxy.config current_token.validate! audience: config.resource, client_id: config.client_id end |
#set_authentication_url! ⇒ Object
19 20 21 22 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 19 def set_authentication_url! uri = OpenIDTokenProxy.client. response.headers['X-Authentication-URL'] = uri end |