Class AttributeContext.Types.Auth (2.2.0)

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

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(AttributeContext.Types.Auth)

public Auth(AttributeContext.Types.Auth other)
Parameter
NameDescription
otherAttributeContext.Types.Auth

Fields

AccessLevelsFieldNumber

public const int AccessLevelsFieldNumber = 5

Field number for the "access_levels" field.

Field Value
TypeDescription
Int32

AudiencesFieldNumber

public const int AudiencesFieldNumber = 2

Field number for the "audiences" field.

Field Value
TypeDescription
Int32

ClaimsFieldNumber

public const int ClaimsFieldNumber = 4

Field number for the "claims" field.

Field Value
TypeDescription
Int32

PresenterFieldNumber

public const int PresenterFieldNumber = 3

Field number for the "presenter" field.

Field Value
TypeDescription
Int32

PrincipalFieldNumber

public const int PrincipalFieldNumber = 1

Field number for the "principal" field.

Field Value
TypeDescription
Int32

Properties

AccessLevels

public Protobuf.Collections.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
TypeDescription
Protobuf.Collections.RepeatedField<String>

Audiences

public Protobuf.Collections.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
TypeDescription
Protobuf.Collections.RepeatedField<String>

Claims

public Protobuf.WellKnownTypes.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': &apos;jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926}

SAML assertions are similarly specified, but with an identity provider dependent structure.

Property Value
TypeDescription
Protobuf.WellKnownTypes.Struct

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

Parser

public static Protobuf.MessageParser<AttributeContext.Types.Auth> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<AttributeContext.Types.Auth>

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
TypeDescription
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
TypeDescription
String

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public AttributeContext.Types.Auth Clone()
Returns
TypeDescription
AttributeContext.Types.Auth

Equals(AttributeContext.Types.Auth)

public bool Equals(AttributeContext.Types.Auth other)
Parameter
NameDescription
otherAttributeContext.Types.Auth
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

MergeFrom(AttributeContext.Types.Auth)

public void MergeFrom(AttributeContext.Types.Auth other)
Parameter
NameDescription
otherAttributeContext.Types.Auth

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream