Class: Google::Auth::IAMCredentials
- Inherits:
-
Object
- Object
- Google::Auth::IAMCredentials
- Defined in:
- lib/googleauth/iam.rb
Overview
Authenticates requests using IAM credentials.
Constant Summary collapse
- SELECTOR_KEY =
"x-goog-iam-authority-selector".freeze
- TOKEN_KEY =
"x-goog-iam-authorization-token".freeze
Instance Method Summary collapse
-
#apply(a_hash) ⇒ Object
Returns a clone of a_hash updated with the authoriation header.
-
#apply!(a_hash) ⇒ Object
Adds the credential fields to the hash.
-
#initialize(selector, token) ⇒ IAMCredentials
constructor
Initializes an IAMCredentials.
-
#updater_proc ⇒ Object
Returns a reference to the #apply method, suitable for passing as a closure.
Constructor Details
#initialize(selector, token) ⇒ IAMCredentials
Initializes an IAMCredentials.
32 33 34 35 36 37 |
# File 'lib/googleauth/iam.rb', line 32 def initialize selector, token raise TypeError unless selector.is_a? String raise TypeError unless token.is_a? String @selector = selector @token = token end |
Instance Method Details
#apply(a_hash) ⇒ Object
Returns a clone of a_hash updated with the authoriation header
47 48 49 50 51 |
# File 'lib/googleauth/iam.rb', line 47 def apply a_hash a_copy = a_hash.clone apply! a_copy a_copy end |
#apply!(a_hash) ⇒ Object
Adds the credential fields to the hash.
40 41 42 43 44 |
# File 'lib/googleauth/iam.rb', line 40 def apply! a_hash a_hash[SELECTOR_KEY] = @selector a_hash[TOKEN_KEY] = @token a_hash end |
#updater_proc ⇒ Object
Returns a reference to the #apply method, suitable for passing as a closure
55 56 57 |
# File 'lib/googleauth/iam.rb', line 55 def updater_proc proc { |a_hash, _opts = {}| apply a_hash } end |