Skip to main content

handleOAuthLogin

Admin Docs


Function: handleOAuthLogin()

handleOAuthLogin(client, provider, authorizationCode, redirectUri): Promise<InterfaceAuthenticationPayload>

Defined in: src/utils/oauth/oauthFlowHandler.ts:43

Handles OAuth login flow by exchanging an authorization code for authentication tokens.

This function performs the OAuth sign-in process by sending the authorization code and other required parameters to the GraphQL mutation. It validates the response and returns the authentication payload containing user data and tokens.

Parameters​

client​

ApolloClient<unknown>

Apollo GraphQL client instance for making API requests

provider​

OAuthProviderKey

OAuth provider (e.g., 'GOOGLE', 'GITHUB')

authorizationCode​

string

Authorization code received from OAuth provider callback

redirectUri​

string

Redirect URI used in the OAuth flow for validation

Returns​

Promise<InterfaceAuthenticationPayload>

Promise that resolves to authentication payload with user data and tokens

Throws​

Error When GraphQL errors are returned from the server

Throws​

Error When no authentication data is received despite successful request

Throws​

ApolloError When network or Apollo Client errors occur

Example​

const authPayload = await handleOAuthLogin(
apolloClient,
'GOOGLE',
'auth-code-123',
'http://localhost:3000/callback'
);
console.log(authPayload.user.name); // User's name
console.log(authPayload.authenticationToken); // JWT access token