# Auth — CréaSite Pau

Ce document décrit comment un agent IA peut accéder aux ressources de
`creasitepau.fr`. Format : [auth.md](https://workos.com/auth-md).

## 1. Contenu public — aucune authentification

Aucun jeton n'est nécessaire pour :

- Le site web : <https://creasitepau.fr/>
- Le résumé machine : <https://creasitepau.fr/llms.txt>
- Le sitemap : <https://creasitepau.fr/sitemap.xml>
- Le manifeste ARD : <https://creasitepau.fr/.well-known/ai-catalog.json>
- Les Agent Skills : <https://creasitepau.fr/.well-known/agent-skills/index.json>
- **Le serveur MCP public** :
  `https://ubihfvlniodqiiplclqv.supabase.co/functions/v1/mcp` (Streamable HTTP)

Le serveur MCP expose uniquement des données publiques : offre et tarifs, pages
services et locales, articles de blog, réalisations publiées. Server card :
<https://creasitepau.fr/.well-known/mcp/server-card.json>

## 2. API applicative — OAuth 2.1

Les données non publiques (espace d'administration : messages de contact, gestion
des réalisations et des avis) sont protégées par OAuth 2.1 / OpenID Connect.

- Serveur d'autorisation (issuer) : `https://ubihfvlniodqiiplclqv.supabase.co/auth/v1`
- Métadonnées : <https://creasitepau.fr/.well-known/oauth-authorization-server>
- Métadonnées de ressource protégée : <https://creasitepau.fr/.well-known/oauth-protected-resource>
- Découverte OIDC : <https://creasitepau.fr/.well-known/openid-configuration>

### Enregistrement d'un client agent

1. **Dynamic Client Registration (RFC 7591)** — POST sur
   `https://ubihfvlniodqiiplclqv.supabase.co/auth/v1/oauth/clients/register` avec
   `client_name`, `redirect_uris`, `grant_types: ["authorization_code","refresh_token"]`,
   `response_types: ["code"]`, `token_endpoint_auth_method: "none"` pour un client public.
2. **Authorization Code + PKCE (S256)** — rediriger l'utilisateur vers
   `/auth/v1/oauth/authorize`. Un écran de consentement humain est affiché sur
   <https://creasitepau.fr/.lovable/oauth/consent>.
3. **Jeton** — échanger le code sur `/auth/v1/oauth/token`, puis envoyer
   `Authorization: Bearer <access_token>` sur les appels API.

### Types d'identité et de justificatifs

- `identity_types` : `human_delegated` (l'agent agit au nom d'un utilisateur connecté).
- `credential_types` : `oauth2_access_token` (JWT, algorithmes RS256 / ES256,
  clés publiées sur le `jwks_uri`).
- Les identités purement machine (client credentials) ne sont pas proposées.

### Révocation

L'utilisateur révoque l'accès d'un client depuis son espace CréaSite Pau, ou par
demande à l'exploitant via le formulaire de contact de <https://creasitepau.fr/>.
La révocation invalide les refresh tokens du client concerné.

## 3. Usage du contenu

Voir <https://creasitepau.fr/robots.txt> : `ai-train=no, search=yes, ai-input=yes`.
Le contenu peut être lu et cité, mais pas utilisé pour entraîner des modèles.
