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.
Implements
IMessageAttributeContextTypesAuth, IEquatableAttributeContextTypesAuth, IDeepCloneableAttributeContextTypesAuth, IBufferMessage, IMessageNamespace
Google.Rpc.ContextAssembly
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:
- 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.
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 |
GetHashCode()
public override int GetHashCode()
Returns | |
---|---|
Type | Description |
int |
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 |
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 |
See the user guide for precise merge semantics.
ToString()
public override string ToString()
Returns | |
---|---|
Type | Description |
string |
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. |