Skip to navigation

Get Storefront authToken for Specific Customer

Validates a Company user’s login credentials to create a storefront authToken that can be queried for future GraphQL requests.

Equivalent Storefront GraphQL API Mutation: login

The GraphQL API mutation also allows you to return a storefrontLoginToken. This retrieves a JWT, which can be passed to the BigCommerce Customer Login endpoint in order to log a customer in with a Stencil storefront session.

The login response also includes information related to the Company user, such as their name and their account’s internal identifiers.

Note: the resulting storefront authToken is tied to the Company user, and their assigned user role determines whether or not further requests are authorized. For example, if you generate an authToken for a user who does not have the create_address permission enabled, using the token to validate the GraphQL API addressCreate mutation will result in an error.

For a complete list of Company user permissions and their scopes, see Company Roles and Permissions.

Example GraphQL API Body

With Storefront authToken only

copy
mutation {
login(
loginData: {
storeHash: "1234abcd",
email: "axe@snapmail.cc",
password: "MyPassword123"
}
) {
result {
token
user {
id
bcId
firstName
lastName
email
}
}
}
}

With Storefront authToken and storefrontLoginToken

copy
mutation {
login(
loginData: {
storeHash: "1234abcd",
email: "axe@snapmail.cc",
password: "MyPassword123"
}
) {
result {
token
storefrontLoginToken
user {
id
bcId
firstName
lastName
email
}
}
}
}

Example GraphQL API Responses

With Storefront authToken only

copy
{
"data": {
"login": {
"result": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InRlc3RfYjJjX29yZGVyX2ltcG9ydEBxcS5jb21tIiwic3RvcmVfaGFzaCI6ImYyb3N4ampueGoiLCJkYiI6ImRlZmF1bHQifQ",
"user": {
"id": "8889911",
"bcId": 28,
"firstName": "B2B",
"lastName": "User",
"email": "user@example.com"
}
}
}
}
}

With Storefront authToken and storefrontLoginToken

copy
{
"data": {
"login": {
"result": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InRlc3RfYjJjX29yZGVyX2ltcG9ydEBxcS5jb21tIiwic3RvcmVfaGFzaCI6ImYyb3N4ampueGoiLCJkYiI6ImRlZmF1bHQifQ",
"storefrontLoginToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImtpZG8yNzZAc25hcG1haWwuY2MiLCJzdG9yZV9oYXNoIjoiMWk2enB4cGUzZyIsImRiIjoiZGVmYXVsdCIsIm5hbWUiOiJ0ZXN0OSIsImNoYW5uZWxfaWRzIjpbMV0sInRva2VuX3R5cGUiOjMsIm5iZiI6MTAwMCwiZXhwIjoyMDAxfQ.EiR__LVAlBVNYtFCZPWJYoPv6UfGiXtULxhK-BCQZjY",
"user": {
"id": "8889911",
"bcId": 28,
"firstName": "B2B",
"lastName": "User",
"email": "user@example.com"
}
}
}
}
}

Request

This endpoint expects an object.
storeHashstringRequired
The unique store hash for the BigCommerce store.
channelIddoubleRequiredDefaults to 1

The storefront channel ID associated with the storefront login session. Use 1 for your store’s default storefront channel.

namestringRequired>=1 character
The internal name assigned to the generated storefront authToken.
emailstringRequiredformat: "email">=1 character
The email address associated with the user's account.
passwordstringRequiredformat: "password">=1 character
The password associated with the user's account.
beginAtintegerOptional

The Unix timestamp indicating when the storefront authToken starts being valid.

endAtintegerOptional

The Unix timestamp indicating when the storefront authToken is no longer valid.

Response

OK
codedoubleOptionalDefaults to 200
dataobjectOptional
metaobjectOptional

Errors

400
Bad Request Error