J’ai suivi les consignes de ce poste, Implémentation du parseAuth. Cela fonctionne bien cependant il a fallu modifié des paramètre système stocker dans le module System et des ressources du module UI. Je souhaiterai empacter ses modifications dans un module adhoc (connectionOAuth) pour déployer plus facilement. Cela ne pose pas de problème avec les ressources que je peux changer de modules sans difficulté par contre je ne peux rien faire pour le paramètre système AUTH_PROVIDERS qui est inclus dans le modules système et que je souhaiterai surcharger ou changer de module.
Le paramètre système AUTH_PROVIDERS peut être changé de module pour être exporté dans votre module d’authentification.
Attention, comme la “Valeur remplacée” n’est pas exportée, mettez bien votre configuration dans la “Valeur”
Et je crois que c’est bien le cas chez vous, our être générique assurez vous que le contenu de cette valeur comporte bien des tags de substitutions en [ENV:xxx] pour tout ce qui peut varier d’une instance à une autre ou d’un serveur à un autre (i.e. client ID, client secret, realm, URL, …)
S’agissant de vos platform hooks les avez vous bien implémenté dans une classe nommée PlatformHooksXxx où Xxx est spécifique à votre module ? L’idée est que si un autre module contient des platform hooks la classe ce module n’écrase pas la classe des platform hooks de votre module d’authentification.
PS: pour aller plus loin vous pouvez faire en sorte via les script hooks du SIM d’importer systématiquement ce module lors du déploiement d’une instance sur le SIM (si vous souhaitez mettre ça en place faites un post dédié car il y a plusieurs approches possibles) et/ou mettre en place un appstore privé pour y mettre à disposition ce module.
Le paramètre AUTH_PROVIDER à son attribut module qui semble être en lecture seul. Je ne parviens pas à le changer.
Dois je utiliser la méthode de ce paragraphe ?
Environment variables overrides
This is the simplest way. Just override the value of a system parameter by using the name of the system parameter prefixed by SIMPLICITE_SYSPARAM_.
For example for the SAVE_TOAST system parameter, a SIMPLICITE_SYSPARAM_SAVE_TOAST needs to be created.
This is a forced and global override of the system parameter value which can’t be updated at runtime (at UI level the form is also set read-only).
Si je crée un SIMPLICITE_SYSPARAM_AUTH_PROVIDER dans mon module, le code ayant besoin des paramètre décris dans AUTH_PROVIDERiront plutôt dans SIMPLICITE_SYSPARAM_AUTH_PROVIDER ?
PS: Si vous ne pouvez pas utiliser le user designer vous pouvez temporairement ajouter le paramètre user ADMIN_SYSTEM à yes sur votre user. Ne laissez pas ce paramètre utilisateur actif après avoir fait l’opération.
Bon à avoir, il me semblait bien avoir donner les mêmes droits à mon login mais j’ai suis suis passé en designer et ai pu changer le module. Par contre que va-t-il se passer lors de l’import sur une nouvelle instance, j’aurai 2 paramètres système avec le même nom mais de module différents non ?