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
| Name | Required | Type | Description |
|---|---|---|---|
context | Required | Context | |
params | Required | { email: string; password: string; recaptchaToken: string; } | |
customQuery | Optional | CustomQuery | |
customHeaders | Optional | CustomHeaders |
Referenced Types
- Context
- CustomQuery
- CustomHeaders
FetchResultGenerateCustomerTokenMutation
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.tokenCreating 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);