# Hydra-sql Une [LoginApp](https://www.ory.sh/docs/hydra/concepts/login) pour le serveur OpenID Connect [Ory/Hydra](https://github.com/ory/hydra). Elle permet de se connecter à une base de donnée et de vérifier un mot de passe donné sur une mire locale puis d'aller chercher des données demandées ## Usage Dans le cas d'utilsation du thème pour personaliser la page de login ### Développement Un environnement Docker Compose est proposé comme support de développement. Afin de démarrer celui-ci: ```bash # Démarrer l'environnement docker-compose make up # fermer l'environnement make down ``` ## Variables d'environnement ``` DB_USER="lasql" DB_PASSWORD="lasql" ISSUER_URL="http://localhost:8000" BASE_URL='http://localhost:8080' # connexion hydra HYDRA_ADMIN_BASE_URL='http://hydra:4445' DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql" APP_LOCALES="fr,en" ``` ### test connexion mariadb ``` Modifier la variable d'environnement avec cette valeur DSN_REMOTE_DATABASE="mysql:host=mariadb;port=3306;dbname=lasql;" ``` ## Données de test un base de données postgres est montée dans l'environnement pour tester la connexion: utilisateurs disponibles au démarage: ('test1@test.com', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'Locke', 'John'), ('test2@test.com', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'Dubois', 'Angela'), ('test3@test.com', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'Dupont', 'Henri'), ('test4@test.com', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'Durand', 'Isabelle'); Mot de passe = '123456' hashé en par sha256 ## configuration Permet d'adapter les requetes SQL en indiquant les noms de colonnes nécessaires. pdo_configuration/pdo.yaml ``` pdo: column_login_name: email column_password_name: password table_name: usager data_to_fetch: - email - lastname - firstname ``` #### Conteneurs |Nom|Description|Port(s) hôte utilisé(s)| |---|-----------|------------------| |`oidc-test`|Application factice permettant de tester l'authentification OpenID Connect|`8080`| |`hydra`|Serveur Ory/Hydra|`8081`| |`hydra-sql`|Login/Consent/Logout App (ce projet)|`8082`| |`postgres`| Base de donnée postgres support du test et pour hydra|`5432` |`mariadb`| Base de donnée mariadb support du test|`3306` |`pgadmin`| pour administrer la base de donnée |`8085`