tchapgouv / tchap-product

Discussions sur les différents points de design
3 stars 0 forks source link

Agent Connect - OpenId Connect authentification #195

Open odelcroi opened 9 months ago

odelcroi commented 9 months ago

Why

What

How

### Etude et POC
- [x] [demander les codes Agent connect pour la dev #](https://github.com/tchapgouv/tchap-backend/issues/22)
- [ ] https://github.com/tchapgouv/tchap-backend/issues/23
- [x] étudier la nécessité d'installer le Matrix Authentication Service : https://matrix-org.github.io/matrix-authentication-service/development/architecture.html pas nécessaire
- [ ] étudier l'usage de OpenID Connect sur Tchap iOS : https://github.com/tchapgouv/tchap-ios/issues/965
- [ ] https://github.com/tchapgouv/tchap-web-v4/issues/891
- [ ] https://github.com/tchapgouv/tchap-infra/pull/2527
- [ ] Study how to use universal sub from agent connect : https://pad.numerique.gouv.fr/sLtDRrdjQVKALsty6TPt7g#
- [ ] étudier la migration des comptes existants
- [ ] Possiblité cohabitation AgentConnect et systeme d'authentification MDP actuel
### Preproduction
- [ ] Demander les secret pour la PREPROD pour chaque Homeserveur
### Production
- [ ] Demander les secret pour la PRODUCTION pour chaque Homeserveur
julie-ri commented 5 months ago

prévoir une réu avec AgentConnect cette semaine

MatMaul commented 4 months ago

Expérimentation en cours sur dev01. La partie simple est faite, on peut passer l'étape agent connect.

Il reste la partie compliquée, le mapping et la gestion des 3pid email, et tester tous les cas un peu bizarres, comme les comptes désactivées.

Branche de synapse à utiliser : https://github.com/tchapgouv/synapse/tree/oidc-extra-grant

Conf à rajouter dans synapse :

oidc_providers:
  - idp_id: agent_connect
    idp_name: "Agent Connect"
    discover: true
    issuer: https://fca.integ01.dev-agentconnect.fr/api/v2/
    client_id: ***
    client_secret: ***
    enable_registration: true
    client_auth_method: client_secret_post
    scopes: ["openid", "profile", "email", "acr"]
    pkce_method: never
    allow_existing_users: true
    extra_grant_values:
      acr_values: eidas1
yostyle commented 4 months ago

Pour afficher l'option agent connect dans les clients on doit fournir l'url du homeserver. Cependant on a besoin d'obtenir l'url du homeserver à partir de l'email.

MatMaul commented 4 months ago

Le mapping et la gestion des comptes désactivés est fonctionnel.

Bugs connus restants:

MatMaul commented 4 months ago

https://github.com/element-hq/synapse/pull/16971 https://github.com/element-hq/synapse/pull/16972 https://github.com/element-hq/synapse/pull/16974

Il manque un dernier changement à envoyer.