class Doorkeeper::OAuth::RefreshTokenRequest
Attributes
access_token[RW]
client[RW]
credentials[RW]
refresh_token[RW]
server[RW]
Public Class Methods
new(server, refresh_token, credentials, parameters = {})
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 15 def initialize(server, refresh_token, credentials, parameters = {}) @server = server @refresh_token = refresh_token @credentials = credentials @original_scopes = parameters[:scope] || parameters[:scopes] @refresh_token_parameter = parameters[:refresh_token] if credentials @client = Application.by_uid_and_secret credentials.uid, credentials.secret end end
Private Instance Methods
access_token_attributes()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 53 def access_token_attributes { application_id: refresh_token.application_id, resource_owner_id: refresh_token.resource_owner_id, scopes: scopes.to_s, expires_in: access_token_expires_in, use_refresh_token: true }.tap do |attributes| if refresh_token_revoked_on_use? attributes[:previous_refresh_token] = refresh_token.refresh_token end end end
access_token_expires_in()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 67 def access_token_expires_in Authorization::Token.access_token_expires_in(server, client) end
before_successful_response()
click to toggle source
Calls superclass method
Doorkeeper::OAuth::BaseRequest#before_successful_response
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 30 def before_successful_response refresh_token.transaction do refresh_token.lock! raise Errors::InvalidTokenReuse if refresh_token.revoked? refresh_token.revoke unless refresh_token_revoked_on_use? create_access_token end super end
create_access_token()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 49 def create_access_token @access_token = AccessToken.create!(access_token_attributes) end
default_scopes()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 45 def default_scopes refresh_token.scopes end
refresh_token_revoked_on_use?()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 41 def refresh_token_revoked_on_use? Doorkeeper::AccessToken.refresh_token_revoked_on_use? end
validate_client()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 79 def validate_client !credentials || !!client end
validate_client_match()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 83 def validate_client_match !client || refresh_token.application_id == client.id end
validate_scope()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 87 def validate_scope if @original_scopes.present? ScopeChecker.valid?(@original_scopes, refresh_token.scopes) else true end end
validate_token()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 75 def validate_token refresh_token.present? && !refresh_token.revoked? end
validate_token_presence()
click to toggle source
# File lib/doorkeeper/oauth/refresh_token_request.rb, line 71 def validate_token_presence refresh_token.present? || @refresh_token_parameter.present? end