Commit 60c92610 authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

Release: mise à jour version API 0.0.22

parent 6ec4a3b1
Loading
Loading
Loading
Loading
Loading
+7 −0
Changes for CHANGELOG.md: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
#CHANGELOG
============

0.0.22 (17/04/2026)
------------------
- Dépendance a unicaen/ldap-bundle pour la gestion du LDAP
- Auto-enregistrements des utilisateurs


0.0.21 (03/04/2026)
------------------
- Front : configuration possible du formulaire d'authentification (avec activation ou non du LDAP, CAS)
+1 −1
Changes for api/.version: 1 added line, 1 removed line.
Original line number Diff line number Diff line
0.0.21
0.0.22

api/CHANGELOG.md

deleted100644 → 0
+0 −13
Changes for api/CHANGELOG.md: 0 added lines, 13 removed lines.
Original line number Diff line number Diff line
CHANGELOG
============
0.0.20 (31/03/2026)
------------------
- Dépendance à Utilisateur proposant l'authentification CAS

0.0.13 (24/03/2026)
------------------
- Authentification par CAS

0.0.12 (20/03/2026)
------------------
- Authentification par LDAP ou compte locaux
 No newline at end of file
+25 −11
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`

```yaml
parameters:
    unicaen.authentification.enable_registration: false
```

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_
+1 −0
Changes for api/composer.json: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
        "api-platform/core": "^4.2",
        "unicaen-modern/utilisateur": "^0.5.3",
        "unicaen-modern/privilege": "^1.4",
        "unicaen/ldap-bundle": "*",
        "symfony/security-bundle": "^7.3"
    },
    "require-dev": {
Loading