# auth.md

DOMENESENTRALEN lar AI-agenter og MCP-klienter handle på vegne av en kunde. Åpne oppslag (domenesøk, priser, innsikt) krever ingen innlogging. Kontodata (domener, DNS) krever OAuth 2.1 eller en API-nøkkel.

## agent_auth

- skill: https://domenesentralen.no/auth.md
- register_uri: https://domenesentralen.no/oauth/register
- identity_types_supported: user_authorization
- credential_types_supported: access_token, refresh_token, api_key
- method: user_authorization (OAuth 2.1 authorization code + PKCE S256)
- method: api_key
- authorization_server: https://domenesentralen.no/.well-known/oauth-authorization-server
- protected_resource: https://domenesentralen.no/.well-known/oauth-protected-resource
- revocation_uri: https://domenesentralen.no/oauth/revoke
- claim_uri: https://domenesentralen.no/panel/api
- scopes: les, skriv

Ikke støttet: anonyme agentidentiteter og ID-JAG identity assertions. En agent får bare tilgang ved at en innlogget kunde godkjenner den.

## Metode 1: OAuth 2.1 (anbefalt)

1. Hent metadata: GET https://domenesentralen.no/.well-known/oauth-authorization-server
2. Registrer klienten dynamisk (RFC 7591, offentlig klient, ingen hemmelighet):
   POST https://domenesentralen.no/oauth/register med JSON {"client_name": "…", "redirect_uris": ["…"]}
3. Send brukeren til https://domenesentralen.no/oauth/authorize med `response_type=code`, `client_id`, `redirect_uri`, `scope=les skriv`, `state`, `code_challenge` (S256) og `code_challenge_method=S256`. Brukeren logger inn hos DOMENESENTRALEN og godkjenner.
4. Bytt koden: POST https://domenesentralen.no/oauth/token med `grant_type=authorization_code`, `code`, `redirect_uri`, `client_id`, `code_verifier`.
5. Bruk Authorization: Bearer <access_token> mot https://domenesentralen.no/api/mcp og https://domenesentralen.no/api/v1. Access tokens varer 1 time; forny med `grant_type=refresh_token` (tokenet roteres).

MCP-klienter: et kall mot https://domenesentralen.no/api/mcp uten token svarer 401 med WWW-Authenticate: Bearer resource_metadata=<https://domenesentralen.no/.well-known/oauth-protected-resource>, som starter flyten automatisk i klienter som støtter MCP-autorisasjon.

## Metode 2: API-nøkkel

Brukeren oppretter en nøkkel i panelet (API) og gir den til agenten. Send `Authorization: Bearer ds_…`. Nøkler kan avgrenses til domener, lese/skrive og IP-adresser. Dokumentasjon: https://domenesentralen.no/utviklere

## Scopes

- `les`: lese domener og DNS-poster
- `skriv`: opprette, endre og slette DNS-poster (forutsetter les)

## Tilbakekalling

Brukeren kan koble fra en app i panelet under API → Tilkoblede apper. Agenter kan selv kalle POST https://domenesentralen.no/oauth/revoke med feltet token.

## Mer

- MCP-serverkort: https://domenesentralen.no/.well-known/mcp/server-card.json
- OpenAPI: https://domenesentralen.no/openapi.json
- llms.txt: https://domenesentralen.no/llms.txt
