Changes for api/README.md: 25 added lines, 11 removed lines.
Original line number
Diff line number
Diff line
@@ -61,25 +61,39 @@ security:
-{path:^/auth/cas,roles:PUBLIC_ACCESS}# (commenter si CAS non utilisé)
```
La déclaration des routes d'authentification de l'api est à définir dans votre répertoire /config/routes/
Le fichier [unicaen_authentification.yaml.dist](documentations/config/unicaen_authentification.yaml.dist) est un exemple que l'on peut copier/coller
## Routes
L'authentification requiére de définir quelques routes spécifiques.
La configuration des routes à inclure est donnée dans [unicaen_authentification_routes.yaml.dist](config/unicaen_authentification_routes.yaml.dist), a placer dans `config/routes/`
La déclaration des routes d'authentification de l'api est à définir dans votre répertoire /config/routes/
Le fichier [gesdinet_jwt_refresh_token.yaml.dist](documentations/config/gesdinet_jwt_refresh_token.yaml.dist) est un exemple que l'on peut copier/coller
## Token JWT
Le fichier [gesdinet_jwt_refresh_token.yaml.dist](documentations/config/gesdinet_jwt_refresh_token.yaml.dist) est un exemple de configuration pour la gestion des token JWT et est a placer dans `config/packages/`
### Création automatiques des utilisateurs
Les authentifieurs proposés hérite de `AbstractSelfRegistrationAuthenticator`.
Celà permet de creer les utilisateurs dans la base de données s'ils réussissent l'authentification mais n'existe pas dans la base de données da l'application.
Dans le cas de l'authentification par CAS, les données de l'utilisteurs (mail, displayName ...) ne sont pas fournis et requiére l'utilisation de l'annuaire LDAP
Cf [LDAP.md](LDAP.md) pour cette partie de la configuration.
L'auto-creation des utilisateurs peut être désactivée dans la configuration de `/config/packages/unicaen_authentification.yaml`
UnicaenAuthentification ne crée pas réelement l'utilisateur mais génére un `UserCreateEvent` en fournissant les données.
Charge à UnicaenUtilisateur (ou tout autre listener) d'enregister en base de données l'utilisateur.
## Améliorations a venir
- Paramètrage pour la création de l'utilisateur
- Système d'usurpation
- Paramètrage du type d'authentification
- Authentification via Shibb
**Configuration des routes :**
Trouver comment intégrer directement la configuration des routes dans le bundle et ne plus avoir a copier/coller [unicaen_authentification.yaml.dist](./config/routes/unicaen_authentification.yaml.dist)
- Une approche qui vient de la v2 de Symfony : https://symfony.com/doc/2.x/routing/external_resources.html est fonctionnelle mais ne seras sans doute pas maintenue
- L'approche par déclaration de routes dans [CasController.php](src/Controller/CasController.php) (ou un autre) est fonctionnelle pour les routes de CAS, mais pas pour /auth/refresh qui repose sur un controlleur de JWT
_Ceci est une note en cours de rédaction, probablement incompléte. Toute contibution est la bienvenue_