Class: Google::Apis::ServicecontrolV1::Auth
- Inherits:
-
Object
- Object
- Google::Apis::ServicecontrolV1::Auth
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/servicecontrol_v1/classes.rb,
generated/google/apis/servicecontrol_v1/representations.rb,
generated/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
-
#access_levels ⇒ Array<String>
A list of access level resource names that allow resources to be accessed by authenticated requester.
-
#audiences ⇒ Array<String>
The intended audience(s) for this authentication information.
-
#claims ⇒ Hash<String,Object>
Structured claims presented with the credential.
-
#presenter ⇒ String
The authorized presenter of the credential.
-
#principal ⇒ String
The authenticated principal.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Auth
constructor
A new instance of Auth.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Auth
Returns a new instance of Auth.
391 392 393 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 391 def initialize(**args) update!(**args) end |
Instance Attribute Details
#access_levels ⇒ Array<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
339 340 341 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 339 def access_levels @access_levels end |
#audiences ⇒ Array<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 such as ["pubsub.googleapis.com", "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
355 356 357 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 355 def audiences @audiences end |
#claims ⇒ Hash<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
372 373 374 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 372 def claims @claims end |
#presenter ⇒ String
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
380 381 382 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 380 def presenter @presenter end |
#principal ⇒ String
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
389 390 391 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 389 def principal @principal end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
396 397 398 399 400 401 402 |
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 396 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) @presenter = args[:presenter] if args.key?(:presenter) @principal = args[:principal] if args.key?(:principal) end |