Class: AccessToken

Inherits:
CouchRest::Model::Base
  • Object
show all
Includes:
Oauth2Token, Rack::CouchdbOAuth2::Model::Base
Defined in:
lib/couchdb_oauth2/model/access_token.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Oauth2Token

#expired!, #expired?, #expires_in, included

Methods included from Rack::CouchdbOAuth2::Model::Base

included

Class Method Details

.find_by_env(env) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/couchdb_oauth2/model/access_token.rb', line 9

def self.find_by_env(env)
  request = Rack::OAuth2::Server::Resource::Bearer::Request.new(env)
  return nil unless request && request.oauth2?
  request.setup!
  token = self.find_by_token request.access_token
  (token.nil? || token.expired?) ? nil : token
rescue
  nil
end

Instance Method Details

#to_bearer_token(with_refresh_token = false) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/couchdb_oauth2/model/access_token.rb', line 19

def to_bearer_token(with_refresh_token = false)
  bearer_token = Rack::OAuth2::AccessToken::Bearer.new(
    :access_token => self.token,
    :expires_in => self.expires_in
  )
  if with_refresh_token
    bearer_token.refresh_token = self.refresh_token.token
  end
  bearer_token
end