Class: Bcome::Driver::Gcp::Authentication::SignetServiceAccountClient

Inherits:
Signet::OAuth2::Client
  • Object
show all
Defined in:
lib/objects/driver/gcp/authentication/signet/service_account.rb

Instance Method Summary collapse

Constructor Details

#initialize(scopes, service_account_json_path) ⇒ SignetServiceAccountClient

Returns a new instance of SignetServiceAccountClient.



5
6
7
8
9
# File 'lib/objects/driver/gcp/authentication/signet/service_account.rb', line 5

def initialize(scopes, )
  @scopes = scopes
  @service_account_json_path = 
  raise ::Bcome::Exception::GcpAuthServiceAccountMissingCredentials, @service_account_json_path unless File.exist?(@service_account_json_path)
end

Instance Method Details

#authorizeObject



16
17
18
# File 'lib/objects/driver/gcp/authentication/signet/service_account.rb', line 16

def authorize
  @token ||= fetch_access_token
end

#authorizerObject



20
21
22
23
24
25
# File 'lib/objects/driver/gcp/authentication/signet/service_account.rb', line 20

def authorizer
  authorizer = Google::Auth::ServiceAccountCredentials.make_creds(
    json_key_io: File.open(@service_account_json_path),
    scope: @scopes
  )
end

#fetch_access_token(_options = {}) ⇒ Object



11
12
13
14
# File 'lib/objects/driver/gcp/authentication/signet/service_account.rb', line 11

def fetch_access_token(_options = {})
  token = authorizer.fetch_access_token!
  token
end