Fehler des Token-Endpunkts
Die Antworten, die ein Code-Tausch oder ein Refresh erhalten kann, und was jeweils zu tun ist.
POST <auth>/oauth/token meldet Fehler in zwei Formaten. Lesen Sie den Status und behandeln Sie beide Formen.
Fehler nach RFC 6749
HTTP 400 mit einem Inhalt wie:
{ "error": "invalid_grant", "error_description": "Authorization code has expired" }
Das sind Probleme beim Code-Tausch: ein abgelaufener, bereits verwendeter oder unbekannter Code, ein falscher code_verifier oder eine falsche redirect_uri (invalid_grant); ein fehlender Parameter (invalid_request); ein inzwischen gesperrter Benutzer (access_denied).
Die eigenen Fehler des Auth-Servers
Ein Inhalt wie {"code": 400, "error_code": "...", "msg": "..."}, solange Sie keinen Header X-Supabase-Api-Version senden (mit ihm wird daraus {"code": "<error_code>", "message": "..."}):
- Die Client-Authentifizierung schlägt fehl: 400,
error_codeinvalid_credentials. Ein falsches oder erneuertes Secret, oder das Secret nicht per HTTP Basic gesendet. - Ein Refresh-Token, das nicht mehr funktioniert: 400,
error_coderefresh_token_not_found(die Sitzung wurde beendet),refresh_token_already_used(nach 10 Sekunden erneut verwendet; die Sitzung ist jetzt beendet),user_banned,session_not_foundodersession_expired. Behandeln Sie jeden davon als Abmeldung. - Das Token wurde verweigert: 403,
error_codeunknown, mit dem Grund inmsg. Diese kommen beim Code-Tausch und beim Refresh gleichermaßen.
Die 403-Antworten, die ein Frontend erhalten kann
msg | Wann | Was tun |
|---|---|---|
The frontend is for members only | Mitgliedschaft verpflichtend, und der Benutzer ist derzeit kein Mitglied. | Verwerfen Sie die Sitzung und schicken Sie den Benutzer erneut durch die Anmeldung. |
OAuth tokens are issued for the scope openid only | Der Scope der Autorisierungsanfrage war nicht genau openid (auch gar keiner). | Korrigieren Sie die Autorisierungsanfrage; es ist ein Fehler in Ihrem Frontend. |
The OAuth client is not an internal web frontend | Das Frontend Ihres Clients ist kein internes Frontend mit dem App-Typ „Web-App“. | Verwerfen Sie die Sitzung; bitten Sie die Organisation, die Karte „Anmeldung“ des Frontends zu prüfen. |
The OAuth client does not serve the frontend user's tenant | Ihre Client-ID gehört nicht (mehr) zu einem Frontend der Organisation des Benutzers, etwa nachdem der Client neu erstellt wurde. | Vergleichen Sie die ausgerollte Client-ID und das Secret mit der Karte „Anmeldung“ und schicken Sie den Benutzer dann erneut durch die Anmeldung. |
The access token could not be issued | Das Token konnte nicht berechnet werden (ein interner Fehler). | Als Abmeldung behandeln; später erneut versuchen und appsolut den Zeitpunkt melden, wenn es sich wiederholt. |
Jede andere msg | Konto- oder Sitzungszustände, die keine reguläre Anmeldung erzeugt. | Als Abmeldung behandeln und appsolut die msg und den Zeitpunkt melden. |