hydra-sql/readme.md

2.4 KiB

Hydra-sql

Une LoginApp pour le serveur OpenID Connect 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:


# 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