Salut,
J'ai un peu repris ce sujet ; en travaillant principalement sur mon fork
pour le moment.
J'ai notamment commencé à implémenter les scopes :
https://github.com/galette/plugin-oauth2/pull/4
À noter : l'interface dépend de modifications qui ne seront disponibles
que dans la version 1.1.1 :
https://github.com/galette/galette/pull/515
(plus particulièrement le commit
https://github.com/galette/galette/pull/515/commits/374ba5fafacd4e7d76fe66a…)
Le scope de base est obligatoire (il devrait être servi si rien n'est
précisément demandé).
Pour ajouter de nouveaux scopes, deux possibilités (non exclusives) :
- les lister dans la configuration du plugin,
- les demander via URL.
Dans la version d'origine, l'utilisation des scope était détournée pour
gérer les autorisations d'accès (teamonly ou uptodate).
J'ai préféré conserver une option pour gérer les autorisations d'accès,
et une autre pour les scopes.
Les autorisations d'accès ne peuvent être gérées que depuis le fichier
de configuration du plugin, les scopes peuvent être gérés depuis le
fichier de configuration du plugin ou depuis l'application distante.
> Le 31/01/2024 à 10:10, Guillaume AGNIERAY a écrit :
>> [...]
>> Nouvelle tentative avec le module
>> https://www.drupal.org/project/openid_connect
>>
>> Il manque dans les infos utilisateur une réclamation "sub" (à la
>> manière de celle nommée "identifier" pour nextcloud).
Ouais, du coup, c'est ce que va demander OpenID-Connect. De ce que j'en
comprends, c'est encore autre chose, mais rien n'empêche que l'on soit
compatible autant que faire se peut, c'est le seul standard qui existe
en la matière.
Pour les softs qui font de l'oAuth "standard", il faudra agrémenter au
fur à mesure pour le moment.
>> [...]
>> Et la réclamation "groups" doit rester un tableau (une chaîne n'est pas
>> acceptée ; ce changement ne semble pas impacter l'utilisation des
>> groupes dans Nextcloud).
J'ai changé ça aussi.
Je ne suis pas totalement fixé sur les scopes proposés et ce qu'ils
renvoient. Je prends les remarques ;)
++
--
Johan