Saltar para o conteúdo

Desafio ALTCHA para entrar com um e-mail

POST/api/auth/challenge

Auth
Pública
Chave de API:
Não aceita chave de API
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Sem login. Igual a `GET /api/auth/challenge`, mas com o trabalho que o login deste e-mail exige agora nesta comunidade (`X-CommunityId`). Use antes de cada `POST /api/auth/login`. Até 5 tentativas que falharam em 15 minutos, o trabalho é o normal (cerca de 1 s num celular médio); a partir daí, cada falha multiplica o trabalho (2, 4, 6, 8 e no máximo 10 vezes, cerca de 10 s), e `parameters.data.level` traz o multiplicador. A conta **nunca é bloqueada** por tentativas erradas: a senha certa entra, com o desafio do nível atual, e zera a contagem. O e-mail vai no corpo para ficar fora de URLs e logs; e-mail sem conta sobe do mesmo jeito. Cadastro e recuperação de senha seguem com `GET`. Mesmo limite de 300 desafios por IP em 15 minutos (429).

Headers

NomeTipoDescrição
X-CommunityIdobrigatóriostring (uuid)A comunidade do login (a mesma que vai no `POST /api/auth/login`).

Corpo da requisição application/json

NomeTipoDescrição
emailobrigatóriostring (email)max 320

Respostas

CódigoDescrição
200O desafio, no formato que o widget `altcha` aceita (`parameters` e `signature`).
400E-mail ausente ou longo demais.
429Tentativas demais. O header `Retry-After` diz em quantos segundos tentar de novo.
503A API não consegue verificar o ALTCHA agora (chave não configurada em produção). `param = altcha`.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/auth/challenge" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'