Naar de inhoud
Novadesko Documentatie
Nederlands
Applicatie openen

OAuth 2.1, scopes en tokens

Discovery-metadata, dynamische registratie, PKCE, scopes read, write en send, levensduur van tokens en intrekking.

De server volgt de MCP-autorisatiespecificatie: OAuth 2.1 met verplichte PKCE, metadata voor beschermde bron (RFC 9728) en autorisatieserver (RFC 8414), dynamische registratie (RFC 7591) en de parameter iss in het antwoord (RFC 9207).

Discovery

GET https://mcp.novadesko.com/.well-known/oauth-protected-resource
GET https://mcp.novadesko.com/.well-known/oauth-authorization-server
VeldWaarde
resourcehttps://mcp.novadesko.com (of https://mcp.novadesko.com/mcp volgens het aangeroepen adres)
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

Het autorisatiescherm blijft op web.novadesko.com: het gebruikt de Novadesko-sessie van de gebruiker. Een oproep zonder token naar https://mcp.novadesko.com geeft:

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

Dynamische registratie

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 tot 10 redirect_uris, maximaal 500 tekens, zonder fragment #.
  • HTTPS verplicht, behalve http://localhost, 127.0.0.1 en [::1] voor lokale clients.
  • Het antwoord bevat de client_id (prefix ndcl_). Een eventueel secret wordt gehasht opgeslagen (SHA-256).

Scopes

ScopeNovadesko-schermZichtbare tools
readRaadplegen (altijd toegekend)get_*, search*, list_*, fetch, cancel_action
writeAanmaken en wijzigen (optioneel)de tools prepare_* met scope write + confirm_action
sendE-mails en sms versturen (optioneel)prepare_email, prepare_reminder + confirm_action

De gebruiker kan write of send uitvinken op het autorisatiescherm, ongeacht wat de client vraagt. tools/list geeft alleen de tools terug die de toegekende scopes toelaten.

Levensduur van tokens

ElementDuur
Autorisatiecode10 minuten, eenmalig
Toegangstoken1 uur
Refresh-token30 dagen, vernieuwd bij elke refresh (rotatie)

Intrekking

De client kan intrekken met POST https://mcp.novadesko.com/ai-oauth/revoke (RFC 7009). De gebruiker kan ook op Intrekken klikken in Novadesko, Integraties: het effect is onmiddellijk, de volgende oproep krijgt 401. Alle geheimen (tokens, codes) worden gehasht opgeslagen, nooit leesbaar.

Zie ook