Class: MyMenu::AccessTokenService

Inherits:
Object
  • Object
show all
Defined in:
app/services/my_menu/access_token_service.rb

Overview

Service to handle MyMenu access token creation logic

Class Method Summary collapse

Class Method Details

.create_access_token(application) ⇒ Doorkeeper::AccessToken

Creates a Doorkeeper access token for the given application

Parameters:

  • application (Doorkeeper::Application)

Returns:

  • (Doorkeeper::AccessToken)


8
9
10
11
12
13
14
15
# File 'app/services/my_menu/access_token_service.rb', line 8

def self.create_access_token(application)
  Doorkeeper::AccessToken.create(
    resource_owner: application,
    refresh_token: generate_refresh_token,
    expires_in: Doorkeeper.configuration.access_token_expires_in.to_i,
    scopes: 'default',
  )
end

.generate_refresh_tokenString

Generates a unique refresh token

Returns:

  • (String)


19
20
21
22
23
24
# File 'app/services/my_menu/access_token_service.rb', line 19

def self.generate_refresh_token
  loop do
    token = SecureRandom.hex(32)
    break token unless Doorkeeper::AccessToken.exists?(refresh_token: token)
  end
end