1 Punkte von GN⁺ 2024-12-13 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Brief an OAuth-Anbieter

    • GitHub

      • Der Token-Endpunkt gibt selbst bei Fehlern den Statuscode 200 zurück
      • Für Fehlerantworten sollten die Statuscodes 400 oder 401 verwendet werden
    • Facebook

      • Der Token-Endpunkt gibt benutzerdefinierte Fehlerantworten zurück
      • Es sollte ein JSON-Objekt mit einem Fehlerfeld sein
    • TikTok

      • Der Server verwendet den Parameter client_key statt client_id
      • Es gibt keinen Grund, von der Spezifikation abzuweichen
    • Strava

      • Der Server verwendet für den Scope-Parameter eine kommagetrennte Liste
      • Es sollte eine durch Leerzeichen getrennte Liste sein
    • Naver

      • Der Server gibt die Ablaufzeit des Tokens als String zurück
      • Das ist ein Problem, das über die Frage der Spezifikationskonformität hinausgeht
    • Verschiedene OAuth-Anbieter

      • Zur Client-Authentifizierung sollte HTTP Basic Authentication statt des Parameters client_secret unterstützt werden
      • Im OAuth-2.1-Standard ist HTTP Basic Authentication optional, aber obwohl PKCE vorgeschrieben ist, verwenden die meisten Anbieter es dennoch nicht
    • AWS

      • Bei der Verwendung mit OAuth-Client-Bibliotheken gingen mehrere Fehlermeldungen ein, aber da sich das Problem nicht reproduzieren ließ, wurde der entsprechende Inhalt entfernt

1 Kommentare

 
rikko 2024-12-13

Beim Aufbau eines staatlichen Bürgerdienstprojekts habe ich die Erfahrung gemacht, dass allein die Implementierung der OAuth-(OIDC-)Funktion einen ganzen Monat gedauert hat...

Da wir keine externen Bibliotheken verwenden konnten, mussten wir alles einzeln selbst implementieren, und außer Kakao oder Google hat praktisch niemand den OAuth-Standard sauber eingehalten...

Bei Naver war es eher auf dem Niveau von „Hauptsache, der Login funktioniert“, sodass ich mich fragte, ob man das überhaupt so einsetzen kann, und bei Apple brauchte man, selbst wenn ich heute darüber nachdenke und mich nicht einmal mehr daran erinnere, wie ich es umgesetzt habe, mehr als dreimal so viel Implementierungscode wie bei bestehendem OAuth-Code.

Wie im obigen Text beschrieben, gab es Fälle, in denen die Response-Codes völliges Chaos waren, und es gab sogar Anbieter, die am Ende 418 (I'm a teapot) zurückgegeben haben.
Wegen solcher Erfahrungen nutze ich selbst praktische Funktionen wie Social Login lieber gar nicht mehr...