class Doorkeeper::OAuth::Authorization::Token
Attributes
pre_auth[R]
resource_owner[R]
token[R]
Public Class Methods
access_token_expires_in(configuration, context)
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 27 def access_token_expires_in(configuration, context) if configuration.option_defined?(:custom_access_token_expires_in) expiration = configuration.custom_access_token_expires_in.call(context) return nil if expiration == Float::INFINITY expiration || configuration.access_token_expires_in else configuration.access_token_expires_in end end
build_context(pre_auth_or_oauth_client, grant_type, scopes, resource_owner)
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 10 def build_context(pre_auth_or_oauth_client, grant_type, scopes, resource_owner) oauth_client = if pre_auth_or_oauth_client.respond_to?(:application) pre_auth_or_oauth_client.application elsif pre_auth_or_oauth_client.respond_to?(:client) pre_auth_or_oauth_client.client else pre_auth_or_oauth_client end Doorkeeper::OAuth::Authorization::Context.new( client: oauth_client, grant_type: grant_type, scopes: scopes, resource_owner: resource_owner, ) end
new(pre_auth, resource_owner)
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 47 def initialize(pre_auth, resource_owner) @pre_auth = pre_auth @resource_owner = resource_owner end
refresh_token_enabled?(server, context)
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 38 def refresh_token_enabled?(server, context) if server.refresh_token_enabled?.respond_to?(:call) server.refresh_token_enabled?.call(context) else !!server.refresh_token_enabled? end end
Public Instance Methods
access_token?()
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 85 def access_token? true end
application()
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 71 def application return unless pre_auth.client pre_auth.client.is_a?(Doorkeeper.config.application_model) ? pre_auth.client : pre_auth.client.application end
issue_token!()
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 52 def issue_token! return @token if defined?(@token) context = self.class.build_context( pre_auth.client, Doorkeeper::OAuth::IMPLICIT, pre_auth.scopes, resource_owner, ) @token = Doorkeeper.config.access_token_model.find_or_create_for( application: application, resource_owner: resource_owner, scopes: pre_auth.scopes, expires_in: self.class.access_token_expires_in(Doorkeeper.config, context), use_refresh_token: false, ) end
oob_redirect()
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 77 def oob_redirect { controller: controller, action: :show, access_token: token.plaintext_token, } end
Private Instance Methods
controller()
click to toggle source
# File lib/doorkeeper/oauth/authorization/token.rb, line 91 def controller @controller ||= begin mapping = Doorkeeper::Rails::Routes.mapping[:token_info] || {} mapping[:controllers] || "doorkeeper/token_info" end end