Class: GDS::SSO::ApiAccess
- Inherits:
-
Object
- Object
- GDS::SSO::ApiAccess
- Defined in:
- lib/gds-sso/api_access.rb
Class Method Summary collapse
Class Method Details
.api_call?(env) ⇒ Boolean
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/gds-sso/api_access.rb', line 6 def self.api_call?(env) return env["gds_sso.api_call"] unless env["gds_sso.api_call"].nil? return true if GDS::SSO::Config.api_only if GDS::SSO::Config.api_request_matcher request = Rack::Request.new(env) gds_sso_api_request_matcher = GDS::SSO::Config.gds_sso_api_request_matcher return true if gds_sso_api_request_matcher&.call(request) return GDS::SSO::Config.api_request_matcher.call(request) end !bearer_token(env).nil? end |
.bearer_token(env) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/gds-sso/api_access.rb', line 22 def self.bearer_token(env) Rack::Auth::AbstractRequest::AUTHORIZATION_KEYS.each do |key| next unless env.key?(key) if (match = env[key].match(/\ABearer (.+)/)) return match[1] end end nil end |