Enum AppsyncIdentity

Source
pub enum AppsyncIdentity {
    Cognito(AppsyncIdentityCognito),
    Iam(AppsyncIdentityIam),
    Oidc(AppsyncIdentityOidc),
    Lambda(AppsyncIdentityLambda),
    ApiKey,
}
Expand description

Identity information for an AppSync request.

Represents the identity context of the authenticated user/client making the request to AWS AppSync. This enum corresponds directly to AppSync’s authorization types as defined in the AWS documentation.

Each variant maps to one of the five supported AWS AppSync authorization modes:

  • Cognito: Uses Amazon Cognito User Pools, providing group-based access control with JWT tokens containing encoded user information like groups and custom claims.

  • Iam: Uses AWS IAM roles and policies through AWS Signature Version 4 signing. Can be used either directly with IAM users/roles or through Cognito Identity Pools for federated access. Enables fine-grained access control through IAM policies.

  • Oidc: OpenID Connect authentication integrating with any OIDC-compliant provider.

  • Lambda: Custom authorization through an AWS Lambda function that evaluates each request.

  • ApiKey: Simple API key-based authentication using keys generated and managed by AppSync.

The variant is determined by the authorization configuration of your AppSync API and the authentication credentials provided in the request. Each variant contains structured information specific to that authentication mode, which can be used in resolvers for custom authorization logic.

More information can be found in the AWS documentation.

Variants§

§

Cognito(AppsyncIdentityCognito)

Amazon Cognito User Pools authentication

§

Iam(AppsyncIdentityIam)

AWS IAM authentication

§

Oidc(AppsyncIdentityOidc)

OpenID Connect authentication

§

Lambda(AppsyncIdentityLambda)

Lambda authorizer authentication

§

ApiKey

API Key authentication (represents null identity in JSON)

Trait Implementations§

Source§

impl Debug for AppsyncIdentity

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AppsyncIdentity

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T