Class: SFMC::Authentication

Inherits:
SFMCBase show all
Defined in:
lib/sfmc/authentication.rb

Constant Summary

Constants inherited from SFMCBase

SFMCBase::NAME_TO_METHOD

Class Method Summary collapse

Methods inherited from SFMCBase

authenticate_and_retry, request

Methods included from Helpers

#get_subscriber_key, #init, #set_base_uri

Methods included from Errors

#error_class, #error_message

Class Method Details

.set_bearer_token(refresh: false) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/sfmc/authentication.rb', line 12

def self.set_bearer_token(refresh: false)
  # Ensures the token is present & not expired
  token_invalid = SFMCBase.access_token.nil? || SFMCBase.access_token_expires_at < Time.now
  return unless refresh || token_invalid

  set_base_uri 'auth'
  response = create(nil, AUTH_PARAMS, true)

  SFMCBase.access_token = response.access_token
  SFMCBase.access_token_expires_at = Time.now + response.expires_in
  SFMCBase.headers Authorization: "Bearer #{SFMCBase.access_token}"
end