Integration and debugging
Integration and debugging
Developer-side FAQ — registering a client, redirect URIs, code exchange, refresh and validation, grouped by integration stage.
This category covers developer blockers while debugging: registering a client, configuring redirect URIs, running the authorization code flow, exchanging and validating tokens. Answers give direction and determination rules; details point into the integration guide.
Questions
| Stage | Question | Page |
|---|---|---|
| Setup | How to obtain a client_id, confidential vs public client, can the secret live in the frontend | Registering a client |
| Flow | Redirect URI rejected as unregistered, testing callbacks locally, why implicit flow is unsupported | Redirect and code flow |
| Tokens | invalid_grant, refresh tokens dying unexpectedly, missing scopes | Token exchange and refresh |
Boundaries
| Symptom | Belongs here | Does not |
|---|---|---|
| Client registration, redirect configuration, token exchange errors | Yes | — |
| End-user consent page wording, revoking access | Authorization and permissions | — |
| The complete error code list and investigation order | Error codes | — |
Related
- Integrating from scratch: Integration guide
- Endpoint and authentication quick reference: Endpoint index
Revoking access
Where to revoke access, what happens to the application afterwards, why an application keeps asking for authorization, and how revocation differs from signing out.
Registering a client
How to obtain a client_id, confidential vs public clients, whether client_secret may live in the frontend, and why the developer platform is not live yet.