Class: Google::Apis::ServicecontrolV1::Auth

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/servicecontrol_v1/classes.rb,
lib/google/apis/servicecontrol_v1/representations.rb,
lib/google/apis/servicecontrol_v1/representations.rb

Overview

This message defines request authentication attributes. Terminology is based on the JSON Web Token (JWT) standard, but the terms also correlate to concepts in other standards.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Auth

Returns a new instance of Auth.



395
396
397
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 395

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#access_levelsArray<String>

A list of access level resource names that allow resources to be accessed by authenticated requester. It is part of Secure GCP processing for the incoming request. An access level string has the format: "//api_service_name/ accessPolicies/policy_id/accessLevels/short_name" Example: "// accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/ MY_LEVEL" Corresponds to the JSON property accessLevels

Returns:

  • (Array<String>)


340
341
342
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 340

def access_levels
  @access_levels
end

#audiencesArray<String>

The intended audience(s) for this authentication information. Reflects the audience (aud) claim within a JWT. The audience value(s) depends on the issuer, but typically include one or more of the following pieces of information: * The services intended to receive the credential. For example, [" https://pubsub.googleapis.com/", "https://storage.googleapis.com/"]. * A set of service-based scopes. For example, ["https://www.googleapis.com/auth/cloud- platform"]. * The client id of an app, such as the Firebase project id for JWTs from Firebase Auth. Consult the documentation for the credential issuer to determine the information provided. Corresponds to the JSON property audiences

Returns:

  • (Array<String>)


353
354
355
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 353

def audiences
  @audiences
end

#claimsHash<String,Object>

Structured claims presented with the credential. JWTs include key: value pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: 'iss': 'accounts.google.com', 'sub': '113289723416554971153' , 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps. googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp' : 1353604926 SAML assertions are similarly specified, but with an identity provider dependent structure. Corresponds to the JSON property claims

Returns:

  • (Hash<String,Object>)


365
366
367
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 365

def claims
  @claims
end

#credential_idString

Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey: XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. Corresponds to the JSON property credentialId

Returns:

  • (String)


372
373
374
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 372

def credential_id
  @credential_id
end

#oauthGoogle::Apis::ServicecontrolV1::Oauth

This message defines attributes associated with OAuth credentials. Corresponds to the JSON property oauth



377
378
379
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 377

def oauth
  @oauth
end

#presenterString

The authorized presenter of the credential. Reflects the optional Authorized Presenter (azp) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: "123456789012.apps. googleusercontent.com". Corresponds to the JSON property presenter

Returns:

  • (String)


385
386
387
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 385

def presenter
  @presenter
end

#principalString

The authenticated principal. Reflects the issuer (iss) and subject (sub) claims within a JWT. The issuer and subject should be / delimited, with / percent-encoded within the subject fragment. For Google accounts, the principal format is: "https://accounts.google.com/`id`" Corresponds to the JSON property principal

Returns:

  • (String)


393
394
395
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 393

def principal
  @principal
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



400
401
402
403
404
405
406
407
408
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 400

def update!(**args)
  @access_levels = args[:access_levels] if args.key?(:access_levels)
  @audiences = args[:audiences] if args.key?(:audiences)
  @claims = args[:claims] if args.key?(:claims)
  @credential_id = args[:credential_id] if args.key?(:credential_id)
  @oauth = args[:oauth] if args.key?(:oauth)
  @presenter = args[:presenter] if args.key?(:presenter)
  @principal = args[:principal] if args.key?(:principal)
end