Extension des boutons d'en-tête

Bonjour, nous avons hérité d’un forum Discourse bien établi. J’aimerais modifier la fonctionnalité du bouton d’en-tête « créer un compte ».

J’ai réussi à installer le plugin Ember Chrome que j’ai utilisé pour inspecter les boutons - il a révélé un chemin :

​/​var​/​www​/​discourse​/​app​/​assets​/​javascripts​/​discourse​/​node_modules​/​.embroider​/​rewritten-app​/​components​/​header​/​auth-buttons.js

Je ne suis pas sûr, mais je pense que le JS associé se trouve ici ?

J’ai accès au panneau d’administration du forum, je peux accéder à « Composants », mais je ne vois aucune entrée pour ces boutons. J’ai vu certains composants « test » utilisés, j’ai essayé d’en activer un et de copier le contenu du fichier auth-buttons.gjs dans la section commune de l’en-tête, mais lorsque j’essaie de sauvegarder, j’ai obtenu des erreurs.

Ma question est donc : comment puis-je étendre et personnaliser la fonctionnalité de ces boutons ?

Merci d’avance.

Salut, qu’essayez-vous de faire avec ces boutons ?

Nous voulons que les utilisateurs s’inscrivent via notre site principal - la connexion au compte fonctionnera ensuite pour le forum…

Vous devez vraiment utiliser l’authentification unique (SSO). Discourse s’adaptera automatiquement à votre fournisseur d’authentification unique une fois qu’il sera correctement configuré.

5 « J'aime »

Nous utilisons déjà le SSO - le forum authentifie les utilisateurs via le même fournisseur que notre site principal. Cependant, lorsqu’un utilisateur s’inscrit sur le forum, nous voulons simplement le rediriger vers le site principal - quelle est la meilleure façon de procéder ?

Êtes-vous absolument sûr de vouloir faire cela ? Du point de vue des utilisateurs, quelqu’un essaie de les arnaquer. Ils étaient intéressés par un forum et après l’inscription, ils se retrouveront ailleurs.

1 « J'aime »

Désactivez toutes les autres méthodes d’authentification (y compris les connexions locales) et ne laissez que l’authentification unique (SSO) comme option de connexion. Cela enverrait automatiquement les utilisateurs à la connexion sur votre site principal.

4 « J'aime »

Si vous l’avez correctement configuré, je pense qu’il redirigera après la connexion ?

L’authentification fonctionne - c’est le bouton « inscription » que nous voulons personnaliser pour qu’il mène au site principal…

C’est ce que j’ai suggéré plus haut.

2 « J'aime »

Je peux confirmer. S’il est correctement configuré, les boutons de connexion et d’inscription par défaut mèneront au site principal. Vous n’avez pas besoin de modifier l’interface utilisateur par défaut.

1 « J'aime »

il devrait donc y avoir une option quelque part dans l’administration où je peux spécifier l’URL externe pour le processus d’inscription ?

Non, ces paramètres sont fournis par votre fournisseur SSO. Discourse affichera uniquement le bouton « Se connecter » dans l’en-tête et enverra l’utilisateur à votre point de terminaison d’authentification fourni par le fournisseur SSO.

Gros si… J’ai vu trop souvent des solutions similaires. Le but principal est alors de transférer définitivement un utilisateur vers le site principal où la vente a lieu. Mais c’est tout à fait bien si le but est similaire à ce que fait Google, par exemple, où l’on fait un court détour pour autoriser et où l’on revient ensuite sur le forum.

1 « J'aime »

Bonjour :wave:

Voici un composant de thème avec lequel vous pouvez ajouter un bouton d’inscription personnalisé. Je viens de le mettre à jour pour qu’il fonctionne avec les nouvelles modifications du noyau.

Donc, si les connexions locales sont désactivées, le bouton mènerait directement à l’authentification SSO ?

Oui. C’est ce qui se passe si l’authentification unique (SSO) est la seule méthode d’authentification.

1 « J'aime »

D’accord, donc si le SSO ne concerne que l’authentification, comment cela m’aidera-t-il ici alors que j’ai besoin que « créer un compte » renvoie à mon site principal ?

Il n’y aura pas de bouton d’inscription une fois que l’authentification unique (SSO) sera correctement configurée. Vous pourrez alors utiliser le composant que @Don a lié ci-dessus pour ajouter un bouton personnalisé de création de compte.