OAuth2 für Drittapps

OAuth2 mit PKCE-Flow für Drittapps und Multi-User-Integrationen — über den footage.one Keycloak-Realm.

Wann OAuth2 statt API-Token?

Szenario Empfehlung
Persönlicher Agent (Claude Desktop, eigenes n8n) API-Token
Drittapp mit mehreren Endnutzern OAuth2 / PKCE
Custom GPT mit Actions OAuth2 (von OpenAI gefordert)

Flow

footage.one nutzt Authorization Code Flow mit PKCE — passend für Public Clients (SPAs, Mobile, Desktop) und Confidential Clients (Server).

1. App öffnet Auth-URL mit code_challenge
2. User loggt sich bei Keycloak ein
3. Callback liefert Code zurück
4. App tauscht Code + code_verifier gegen Tokens
5. Access-Token → Authorization-Header für /api/asset/

Endpoints

footage.one nutzt Keycloak. Realm: footageone. Die Asset-Manager-App selbst läuft unter https://app.footage.one und authentifiziert sich gegen denselben Realm.

  • Issuer: https://auth.footage.one/realms/footageone
  • OIDC Discovery: https://auth.footage.one/realms/footageone/.well-known/openid-configuration — liefert alle Endpoint-URLs, unterstützte Scopes und Signatur-Keys maschinenlesbar.
  • Authorize: https://auth.footage.one/realms/footageone/protocol/openid-connect/auth
  • Token: https://auth.footage.one/realms/footageone/protocol/openid-connect/token
  • Userinfo: https://auth.footage.one/realms/footageone/protocol/openid-connect/userinfo

Für die meisten OAuth2-Bibliotheken reicht der Issuer — Endpoints werden automatisch per Discovery geladen.

Scopes

Scope Bedeutung
openid Pflicht — OIDC-Konformität
profile User-Profil-Daten
email E-Mail-Adresse

Resource-spezifische Scopes (assets:read, albums:write, …) sind aktuell nicht implementiert — der Access-Token spiegelt die Rechte des eingeloggten Users.

Client-Registrierung

OAuth-Clients werden über den footage.one-Support registriert — kein Self-Service. Anfrage mit folgenden Infos:

  • Name der Drittapp
  • Redirect-URIs (mehrere möglich)
  • Public oder Confidential Client?
  • Beschreibung des Use-Cases

Danach erhältst du client_id (und client_secret bei Confidential Clients).

Weiter