Aller au contenu

Ory Hydra

FonctionnalitéSupport
Clients OAuth2/OIDC✅ Complet
Clients SAML❌ Non pris en charge par Hydra
Resource servers⚠️ Dérivés des audiences des clients existants (lecture seule)
Clonage de client✅ Complet
  1. Lancer Ory Hydra

    Hydra expose deux ports : une API publique (4444) utilisée par les clients pendant le flux OAuth, et une Admin API (4445) utilisée par Taco pour gérer les clients. Seule l’Admin API doit être accessible depuis Taco.

    Terminal window
    docker compose -f docker-compose.dev.yml -f docker-compose.hydra.yml up

    Cela démarre Hydra (publique + admin), son job de migration, et une instance Postgres dédiée, conformément à la configuration dans .docker/hydra.

  2. Définir les variables d’environnement

    Terminal window
    OPENID_PROVIDER=ory
    ORY_BASE_URL=http://localhost:4445

Aucune authentification d’API de gestion nécessaire

Section titled “Aucune authentification d’API de gestion nécessaire”

L’Admin API de Hydra n’a pas d’authentification native intégrée — le contrôle d’accès est censé être appliqué au niveau réseau. Laissez OPENID_PROVIDER_AUTH_TYPE non défini avec ce fournisseur.

  • Les grant types, response types et la méthode d’authentification du token endpoint correspondent directement aux champs natifs des clients OAuth2 de Hydra.
  • Les resource servers sont dérivés, pas stockés nativement : Taco liste les valeurs distinctes d’audience observées parmi les clients existants. Renommer ou supprimer un « resource server » n’affecte que les futures modifications de client, pas directement l’état de Hydra.
  • Les secrets client ne sont retournés par Hydra qu’à la création. Faites pivoter le secret d’un client depuis sa page de détail si nécessaire.

Pour protéger le tableau de bord Taco avec des jetons émis par Hydra, enregistrez un client OAuth2 séparé dans Hydra pour le flux de connexion propre à Taco (authorization code, confidentiel) :

Terminal window
AUTH_CLIENT_OPENID_CONFIGURATION_URL=http://localhost:4444/.well-known/openid-configuration
AUTH_CLIENT_ID=your-oidc-client-id
AUTH_CLIENT_SECRET=your-oidc-client-secret

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