Aller au contenu

RFC 7592

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.

  1. 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}/register pour la création, et prendre en charge les opérations GET/PUT/DELETE sur le registration_client_uri retourné pour les mises à jour et suppressions.

  2. 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
  3. Définissez les variables d’environnement

    Terminal window
    OPENID_PROVIDER=rfc7592
    RFC7592_BASE_URL=https://oauth.example.com
    OPENID_PROVIDER_AUTH_TYPE=client_credentials
    OPENID_PROVIDER_AUTH_ISSUER=https://oauth.example.com
    OPENID_PROVIDER_AUTH_CLIENT_ID=taco_admin_client
    OPENID_PROVIDER_AUTH_CLIENT_SECRET=your_admin_client_secret
    OPENID_PROVIDER_AUTH_TOKEN_METHOD=client_secret_post
    OPENID_PROVIDER_AUTH_SCOPE=admin:clients
    OPENID_PROVIDER_AUTH_AUDIENCE=https://api.example.com
Terminal window
RFC7592_BASE_URL=https://keycloak.example.com/realms/master
OPENID_PROVIDER_AUTH_ISSUER=https://keycloak.example.com/realms/master
OPENID_PROVIDER_AUTH_CLIENT_ID=admin-cli
OPENID_PROVIDER_AUTH_CLIENT_SECRET=your_admin_secret

Exemple : enregistrement ouvert (sans authentification)

Section titled “Exemple : enregistrement ouvert (sans authentification)”
Terminal window
RFC7592_BASE_URL=https://open-oauth.example.com
OPENID_PROVIDER_AUTH_TYPE=none
  • 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_token retourné à 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.

Pour protéger le tableau de bord Taco avec le SSO de votre propre serveur :

Terminal window
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://oauth.example.com/.well-known/openid-configuration
AUTH_CLIENT_ID=taco_application
AUTH_CLIENT_SECRET=taco_application_secret
AUTH_CLIENT_SCOPE="openid profile email"

Ajoutez <BASE_URL>/api/auth/callback/oidc aux redirect URIs autorisées de ce client.