Class: Rack::CouchdbOAuth2::RequireBearerToken
- Inherits:
-
OAuth2::Server::Resource
- Object
- OAuth2::Server::Resource
- Rack::CouchdbOAuth2::RequireBearerToken
- Defined in:
- lib/couchdb_oauth2/resource/require_bearer_token.rb
Defined Under Namespace
Classes: Request
Constant Summary collapse
- ACCESS_TOKEN =
"rack.oauth2.couchdb.access_token"
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ RequireBearerToken
constructor
A new instance of RequireBearerToken.
Constructor Details
#initialize(app) ⇒ RequireBearerToken
Returns a new instance of RequireBearerToken.
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/couchdb_oauth2/resource/require_bearer_token.rb', line 5 def initialize(app) super(app, "Rack CouchdbOAuth2 RequireBearerToken") do |req| token = req.couchdb_access_token if token.nil? || token.expired? req.invalid_token! else token end end end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/couchdb_oauth2/resource/require_bearer_token.rb', line 16 def call(env) self.request = Request.new(env).setup! self.request.invalid_token! unless self.request.oauth2? env[ACCESS_TOKEN] = self.request.couchdb_access_token if self.request.couchdb_access_token super(env) rescue Rack::OAuth2::Server::Abstract::Error => e e.realm ||= realm e.finish end |