Alokai

generateCustomerToken

Generate customer token

Signature

declare function generateCustomerToken(
	context: Context,
	params: {
  email: string;
  password: string;
  recaptchaToken: string;
},
	customQuery?: CustomQuery,
	customHeaders?: CustomHeaders
): Promise<FetchResult<GenerateCustomerTokenMutation>>;

Parameters

NameRequiredTypeDescription
contextRequiredContext
paramsRequired{ email: string; password: string; recaptchaToken: string; }
customQueryOptionalCustomQuery
customHeadersOptionalCustomHeaders

Referenced Types

Examples

Simple usage:

import { sdk } from '~/sdk.config.ts';

// fetch token
const result = await sdk.magento.generateCustomerToken({
  email: 'some-email',
  password: 'some-password'
});

// Token is now available in result.data.generateCustomerToken.token

Creating a custom GraphQL query to fetch additional data:

module.exports = {
  integrations: {
    magento: {
      customQueries: {
        'generate-customer-token-custom-query': ({ variables, metadata }) => ({
           variables,
           query: `
             mutation generateCustomerToken($email: String!, $password: String!) {
               generateCustomerToken(email: $email, password: $password) {
                 ${metadata.fields}
               }
             }
           }`
        }),
      },
    }
  }
};

Using a custom GraphQL query created in the previous example.

import { sdk } from '~/sdk.config.ts';

// reduce the amount of fields returned by the query, when compared to the default query
const customQuery = {
  generateCustomerToken: 'generate-customer-token-custom-query',
  metadata: {
    fields: 'token additional_field'
  }
};

// data will contain only the fields specified in the custom query.
const result = await sdk.magento.generateCustomerToken({
  email: 'some-email',
  password: 'some-password'
}, customQuery);

On this page