Troubleshooting
Step by step: sign-in that never comes back, codes that will not swap, userinfo refusing tokens, and webhooks that do not arrive.
Inicie sesión para ver su propio ID de cliente de prueba en los ejemplos.
Work down each list until one step fixes it. If none does, ask in the chat with the error code and the time it happened.
The person never comes back to my app
- Does our page show an error instead of signing them in? An unknown client, an unregistered redirect address or a repeated parameter is shown there and never sent back. Check the redirect address matches one you registered exactly, scheme, host, port and path.
- Is it the test client? Only your team and testers who accepted your invitation can sign in. Check the Testers page: an invitation still waiting does not count.
- Is it the live client? It signs in nobody until the review is approved.
- Did you send
prompt=none? Then a missing sign-in or consent comes back as an error, not a page.
The code will not swap (invalid_grant)
- Swap it within 60 seconds, and only once. A retry after a timeout fails because the first attempt used it.
- Send the same
redirect_urithe authorize request had. - Send the
code_verifierwhose challenge you sent, from the same browser's cookie. - Make sure you swap with the client the code was issued to: test codes on the test client.
invalid_client at the token endpoint
- Is the secret the current one, and not expired? Check Credentials.
- A public app sends no secret at all.
- With private_key_jwt:
audis the token endpoint,expat most ten minutes ahead, and eachjtinew.
Userinfo answers invalid_token
- Send the access token, not the ID token.
- Access tokens last 15 minutes: refresh, or sign them in again.
- The person may have taken back access. You will have had consent.revoked.
Webhooks do not arrive
- Is the address public and https? We never deliver to private or loopback addresses, and never follow redirects.
- Do you answer 2xx within ten seconds? Slow handlers should queue the work and answer at once.
- Press Send a test and read the attempt's status on the Webhooks page.
- Check the signature against the raw body. A parsed and re-serialised body never matches.
429 rate_limited
Wait the Retry-After seconds. Requests over the limit still count, so a tight retry loop keeps you over it. Your limits are on the app's API keys page.
Pregunte a Atlas
Asistente de IAPregunte lo que quiera sobre Iniciar sesión con Atheron, la API o el portal. La respuesta sale de nuestra documentación, con enlaces a las páginas usadas.