Zum Inhalt
Novadesko Dokumentation
Deutsch
App öffnen

OAuth 2.1, Scopes und Tokens

Discovery-Metadaten, dynamische Registrierung, PKCE, Scopes read, write und send, Token-Laufzeiten und Widerruf.

Der Server folgt der MCP-Autorisierungsspezifikation: OAuth 2.1 mit verpflichtendem PKCE, Metadaten der geschützten Ressource (RFC 9728) und des Autorisierungsservers (RFC 8414), dynamische Registrierung (RFC 7591) und Parameter iss in der Antwort (RFC 9207).

Discovery

GET https://mcp.novadesko.com/.well-known/oauth-protected-resource
GET https://mcp.novadesko.com/.well-known/oauth-authorization-server
FeldWert
resourcehttps://mcp.novadesko.com (oder https://mcp.novadesko.com/mcp je nach aufgerufener Adresse)
issuerhttps://mcp.novadesko.com
authorization_endpointhttps://web.novadesko.com/ai-oauth/authorize
token_endpointhttps://mcp.novadesko.com/ai-oauth/token
registration_endpointhttps://mcp.novadesko.com/ai-oauth/register
revocation_endpointhttps://mcp.novadesko.com/ai-oauth/revoke
grant_types_supportedauthorization_code, refresh_token
code_challenge_methods_supportedS256
token_endpoint_auth_methods_supportednone, client_secret_post, client_secret_basic
scopes_supportedread, write, send
authorization_response_iss_parameter_supportedtrue

Der Autorisierungsbildschirm bleibt auf web.novadesko.com: er nutzt die Novadesko-Sitzung des Nutzers. Ein Aufruf ohne Token an https://mcp.novadesko.com liefert:

HTTP/2 401
www-authenticate: Bearer resource_metadata="https://mcp.novadesko.com/.well-known/oauth-protected-resource", scope="read write send"

Dynamische Registrierung

POST https://mcp.novadesko.com/ai-oauth/register
Content-Type: application/json

{
  "client_name": "My MCP client",
  "redirect_uris": [
    "https://client.example/callback"
  ],
  "token_endpoint_auth_method": "none",
  "grant_types": [
    "authorization_code",
    "refresh_token"
  ],
  "response_types": [
    "code"
  ]
}
  • 1 bis 10 redirect_uris, höchstens 500 Zeichen, ohne Fragment #.
  • HTTPS Pflicht, außer http://localhost, 127.0.0.1 und [::1] für lokale Clients.
  • Die Antwort enthält die client_id (Präfix ndcl_). Ein etwaiges Secret wird gehasht gespeichert (SHA-256).

Scopes

ScopeNovadesko-BildschirmSichtbare Werkzeuge
readLesen (immer gewährt)get_*, search*, list_*, fetch, cancel_action
writeErstellen und Ändern (optional)Werkzeuge prepare_* mit Scope write + confirm_action
sendE-Mails und SMS senden (optional)prepare_email, prepare_reminder + confirm_action

Der Nutzer kann write oder send auf dem Autorisierungsbildschirm abwählen, unabhängig von der Anfrage des Clients. tools/list liefert nur die durch die gewährten Scopes erlaubten Werkzeuge.

Token-Laufzeiten

ElementLaufzeit
Autorisierungscode10 Minuten, einmalig
Zugriffstoken1 Stunde
Refresh-Token30 Tage, bei jedem Refresh erneuert (Rotation)

Widerruf

Der Client kann mit POST https://mcp.novadesko.com/ai-oauth/revoke widerrufen (RFC 7009). Der Nutzer kann auch in Novadesko, Integrationen, auf Widerrufen klicken: die Wirkung ist sofort, der nächste Aufruf erhält 401. Alle Geheimnisse (Tokens, Codes) werden gehasht gespeichert, nie im Klartext.

Siehe auch