Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TokenAuthConfig<T>

Extends the urql built in AuthConfig type with some helpers for writing/reading

Type Parameters

  • T

Hierarchy

Index

Methods

  • addAuthToOperation(params: { authState: null | T; operation: Operation<any, any> }): Operation<any, any>
  • addAuthToOperation() must be provided to add the custom authState to an Operation's context, so that it may be picked up by the fetchExchange.

    Parameters

    • params: { authState: null | T; operation: Operation<any, any> }
      • authState: null | T
      • operation: Operation<any, any>

    Returns Operation<any, any>

  • didAuthError(params: { error: CombinedError; authState: null | T }): boolean
  • didAuthError() may be provided to tweak the detection of an authentication error that this exchange should handle.

    Parameters

    • params: { error: CombinedError; authState: null | T }
      • error: CombinedError
      • authState: null | T

    Returns boolean

  • willAuthError(params: { authState: null | T; operation: Operation<any, any> }): boolean
  • willAuthError() may be provided to detect a potential operation that'll receive authentication error so that getAuth() can be run proactively.

    Parameters

    • params: { authState: null | T; operation: Operation<any, any> }
      • authState: null | T
      • operation: Operation<any, any>

    Returns boolean

  • getAuth(params: { authState: null | T; mutate: any }): Promise<null | T>
  • getAuth() handles how the application refreshes or reauthenticates given a stale authState and should return a new authState or null.

    Parameters

    • params: { authState: null | T; mutate: any }
      • authState: null | T
      • mutate:function
        • mutate<Data, Variables>(query: string | DocumentNode | TypedDocumentNode<Data, Variables>, variables?: Variables, context?: Partial<OperationContext>): Promise<OperationResult<Data, any>>
        • The mutate() method may be used to send one-off mutations to the GraphQL API for the purpose of authentication.

          Type Parameters

          • Data = any

          • Variables extends object = {}

          Parameters

          • query: string | DocumentNode | TypedDocumentNode<Data, Variables>
          • Optional variables: Variables
          • Optional context: Partial<OperationContext>

          Returns Promise<OperationResult<Data, any>>

    Returns Promise<null | T>

  • readAuth(): Promise<null | T>
  • writeAuth(authState: T): Promise<void>
  • clearAuth(): Promise<void>

Generated using TypeDoc