Autentica um cliente com email e senha. Define cookies httpOnly na resposta para manter a sessão.
ClientLoginMutationInput!
| Campo | Tipo | Descrição |
|---|---|---|
| hostname | String! | Hostname da loja. |
| String! | E-mail do cliente. | |
| password | String! | Senha do cliente. |
| Campo | Tipo | Descrição |
|---|---|---|
| token | String | Token de autenticação (definido via cookie automaticamente). |
| user | AuthUser | Dados do usuário autenticado. |
mutation Login($input: ClientLoginMutationInput!) {
clientLogin(input: $input) {
token
user {
id
name
email
}
}
} {
"input": {
"hostname": "minha-loja",
"email": "cliente@email.com",
"password": "senha123"
}
} {
"data": {
"clientLogin": {
"token": "eyJhbGciOiJIUzI...",
"user": {
"id": "user123",
"name": "João Silva",
"email": "cliente@email.com"
}
}
}
} const response = await fetch(
'/graphql',
{
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
query: `mutation($input: ClientLoginInput!) {
clientLogin(input: $input) {
user { id name email }
}
}`,
variables: {
input: {
hostname: "minha-loja",
email: "cliente@email.com",
password: "senha123"
}
}
})
}
);
const data = await response.json(); curl -X POST https://minha-loja.com/graphql \
-H "Content-Type: application/json" \
-c cookies.txt \
-d '{"query":"mutation { clientLogin(input: { hostname: \"minha-loja\", email: \"cliente@email.com\", password: \"senha123\" }) { user { id name email } } }"}'