Class AttributeContext.Types.Auth (2.15.0)

public sealed class AttributeContext.Types.Auth : IMessage<AttributeContext.Types.Auth>, IEquatable<AttributeContext.Types.Auth>, IDeepCloneable<AttributeContext.Types.Auth>, IBufferMessage, IMessage

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.

Inheritance

object > AttributeContext.Types.Auth

Namespace

Google.Rpc.Context

Assembly

Google.Api.CommonProtos.dll

Constructors

Auth()

public Auth()

Auth(Auth)

public Auth(AttributeContext.Types.Auth other)
Parameter
Name Description
other AttributeContextTypesAuth

Fields

AccessLevelsFieldNumber

public const int AccessLevelsFieldNumber = 5

Field number for the "access_levels" field.

Field Value
Type Description
int

AudiencesFieldNumber

public const int AudiencesFieldNumber = 2

Field number for the "audiences" field.

Field Value
Type Description
int

ClaimsFieldNumber

public const int ClaimsFieldNumber = 4

Field number for the "claims" field.

Field Value
Type Description
int

PresenterFieldNumber

public const int PresenterFieldNumber = 3

Field number for the "presenter" field.

Field Value
Type Description
int

PrincipalFieldNumber

public const int PrincipalFieldNumber = 1

Field number for the "principal" field.

Field Value
Type Description
int

Properties

AccessLevels

public RepeatedField<string> AccessLevels { get; }

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"

Property Value
Type Description
RepeatedFieldstring

Audiences

public RepeatedField<string> Audiences { get; }

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:

Consult the documentation for the credential issuer to determine the information provided.

Property Value
Type Description
RepeatedFieldstring

Claims

public Struct Claims { get; set; }

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.

Property Value
Type Description
Struct

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Parser

public static MessageParser<AttributeContext.Types.Auth> Parser { get; }
Property Value
Type Description
MessageParserAttributeContextTypesAuth

Presenter

public string Presenter { get; set; }

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".

Property Value
Type Description
string

Principal

public string Principal { get; set; }

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}"

Property Value
Type Description
string

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

public AttributeContext.Types.Auth Clone()

Creates a deep clone of this object.

Returns
Type Description
AttributeContextTypesAuth

A deep clone of this object.

Equals(Auth)

public bool Equals(AttributeContext.Types.Auth other)
Parameter
Name Description
other AttributeContextTypesAuth
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

MergeFrom(Auth)

public void MergeFrom(AttributeContext.Types.Auth other)

Merges the given message into this one.

Parameter
Name Description
other AttributeContextTypesAuth
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.