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
41 42 43 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 41 def current_token @current_token ||= OpenIDTokenProxy::Token.decode!(raw_token) end |
#expose_token_expiry_time ⇒ Object
37 38 39 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 37 def expose_token_expiry_time response.headers['X-Token-Expiry-Time'] = current_token.expiry_time.iso8601 end |
#raw_token ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 45 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
26 27 28 29 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 26 def (exception) set_authentication_url! render json: exception.to_json, status: :unauthorized end |
#require_valid_token ⇒ Object
31 32 33 34 35 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 31 def require_valid_token config = OpenIDTokenProxy.config current_token.validate! audience: config.resource, client_id: config.client_id end |
#set_authentication_url! ⇒ Object
21 22 23 24 |
# File 'lib/openid_token_proxy/token/authentication.rb', line 21 def set_authentication_url! uri = OpenIDTokenProxy.client. response.headers['X-Authentication-URL'] = uri end |