RFC 7592
Disponibilité des fonctionnalités
Section titled “Disponibilité des fonctionnalités”| Fonctionnalité | Support |
|---|---|
| Clients OAuth2/OIDC | ✅ Complet, via les endpoints d’enregistrement RFC 7591/7592 |
| Clients SAML | ❌ Non pris en charge |
| Resource servers | ⚠️ Dérivés des audiences des clients existants (lecture seule) |
| Clonage de client | ⚠️ Selon le fournisseur (nécessite un ré-enregistrement) |
Utilisez ce fournisseur pour tout serveur implémentant le standard — Keycloak, Spring Authorization Server, ou une implémentation maison.
Configuration
Section titled “Configuration”-
Vérifiez que votre serveur expose un endpoint d’enregistrement
La RFC 7592 s’appuie sur la RFC 7591 (Dynamic Client Registration). Votre serveur doit exposer
POST {RFC7592_BASE_URL}{RFC7592_REGISTRATION_PATH}pour la création, et prendre en charge les opérationsGET/PUT/DELETEsur leregistration_client_uriretourné pour les mises à jour et suppressions.RFC7592_REGISTRATION_PATHvaut/registerpar défaut ; à surcharger si votre serveur utilise une autre convention (les serveurs basés sur oidc-provider l’exposent par exemple sous/reg). -
Choisissez un mode d’authentification pour l’API de gestion
none— l’endpoint d’enregistrement est ouvert (aucun identifiant admin nécessaire)client_credentials— Taco récupère un jeton d’accès admin via le grant OAuth2 client credentials avant d’appeler l’endpoint d’enregistrement
-
Définissez les variables d’environnement
Terminal window OPENID_PROVIDER=rfc7592RFC7592_BASE_URL=https://oauth.example.comOPENID_PROVIDER_AUTH_TYPE=client_credentialsOPENID_PROVIDER_AUTH_ISSUER=https://oauth.example.comOPENID_PROVIDER_AUTH_CLIENT_ID=taco_admin_clientOPENID_PROVIDER_AUTH_CLIENT_SECRET=your_admin_client_secretOPENID_PROVIDER_AUTH_TOKEN_METHOD=client_secret_postOPENID_PROVIDER_AUTH_SCOPE=admin:clientsOPENID_PROVIDER_AUTH_AUDIENCE=https://api.example.com
Exemple : Keycloak
Section titled “Exemple : Keycloak”RFC7592_BASE_URL=https://keycloak.example.com/realms/masterOPENID_PROVIDER_AUTH_ISSUER=https://keycloak.example.com/realms/masterOPENID_PROVIDER_AUTH_CLIENT_ID=admin-cliOPENID_PROVIDER_AUTH_CLIENT_SECRET=your_admin_secretExemple : enregistrement ouvert (sans authentification)
Section titled “Exemple : enregistrement ouvert (sans authentification)”RFC7592_BASE_URL=https://open-oauth.example.comOPENID_PROVIDER_AUTH_TYPE=noneNotes sur la gestion des clients
Section titled “Notes sur la gestion des clients”- Les resource servers sont dérivés des audiences des clients existants, comme pour le fournisseur Ory Hydra — la spécification ne définit pas de notion native de resource server.
- Le
registration_access_tokenretourné à la création du client est stocké afin que Taco puisse effectuer les mises à jour/suppressions ultérieures sans se ré-authentifier en tant que client lui-même. Il est conservé en base de données, chiffré avec une clé dérivée dePROVIDER_CONFIG_ENCRYPTION_KEY(ou deAUTH_SECRETsi elle n’est pas définie) : il survit aux redémarrages et est partagé entre les réplicas. Changer cette clé rend les jetons stockés illisibles : les clients enregistrés avant le changement ne peuvent alors plus être modifiés ni supprimés depuis Taco. Sans base de données (Lite), les jetons restent en mémoire et sont perdus au redémarrage.
Connexion OIDC (optionnel)
Section titled “Connexion OIDC (optionnel)”Pour protéger le tableau de bord Taco avec le SSO de votre propre serveur :
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://oauth.example.com/.well-known/openid-configurationAUTH_CLIENT_ID=taco_applicationAUTH_CLIENT_SECRET=taco_application_secretAUTH_CLIENT_SCOPE="openid profile email"Ajoutez <BASE_URL>/api/auth/callback/oidc aux redirect URIs autorisées de ce client.