Skip to content

OAuth2 Client Credentials

Zweck

OAuth2-Client-Credentials-Grant — Authentifizierung für Server-zu-Server-Kommunikation. Die Anwendung erhält ein Token mit ihrer client_id und client_secret, ohne Benutzerbeteiligung.

Wann verwenden

  • Microservices und Server-zu-Server-Integrationen
  • Maschine-zu-Maschine-Kommunikation
  • Wenn die API OAuth2 verwendet und Sie eine client_id + client_secret haben

Konfiguration

yaml
specs:
  - domain: jokes
    llm_title: Dad Joke API
    base_url: https://icanhazdadjoke.com
    collections:
      - llm_title: Jokes
        location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/dadjoke.yaml
    auth:
      type: oauth2-cc
      config:
        client_id: "$(CLIENT_ID)"
        client_secret: "$(CLIENT_SECRET)"
        token_url: "https://auth.example.com/oauth/token"
        scopes:
          - read
          - write
        request_format: form

Parameter

ParameterErforderlichBeschreibung
client_idJaClient-Identifikator
client_secretJaClient-Geheimnis
token_urlJaToken-Endpunkt-URL
scopesNeinListe der Berechtigungen (optional)
request_formatNeinAnfrageformat: form (Standard, application/x-www-form-urlencoded) oder json (application/json)

Hinweise

  • swag2mcp fordert automatisch ein neues Token an, wenn das aktuelle abläuft
  • Das Token wird bis zu seiner Ablaufzeit (expires_in) zwischengespeichert
  • Wenn der Server kein expires_in angibt, gilt das Token für 1 Stunde als gültig
  • Alle Parameter können in Umgebungsvariablen gespeichert werden:
  • client_id — unterstützt $(VAR)-Syntax
  • client_secret — unterstützt $(VAR)-Syntax
  • token_url — unterstützt $(VAR)-Syntax
  • request_format: json sendet die Token-Anfrage als JSON-Body — verwenden Sie dies, wenn der Token-Endpunkt Content-Type: application/json erfordert