Sha256: a6129de8cbaf1f4cd17ce1847e5a18eabf7c881740dafa079f60f0f215a05859
Contents?: true
Size: 664 Bytes
Versions: 1
Compression:
Stored size: 664 Bytes
Contents
# frozen_string_literal: true module Rack module BearerAuth class Request # https://tools.ietf.org/html/rfc6750#section-2.1 # b64token = 1*( ALPHA / DIGIT / # "-" / "." / "_" / "~" / "+" / "/" ) *"=" # credentials = "Bearer" 1*SP b64token BEARER_TOKEN_REGEXP = %r{\ABearer +([A-Za-z0-9\-._~+/]+=*)\z}.freeze attr_reader :path, :via, :token def initialize(env) @path = env["PATH_INFO"] @via = env["REQUEST_METHOD"].downcase.to_sym authz = env["HTTP_AUTHORIZATION"] @token = Regexp.last_match(1) if authz&.match(BEARER_TOKEN_REGEXP) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-bearer_auth-1.0.0 | lib/rack/bearer_auth/request.rb |