Je construis un portail communautaire où j’utiliserai OAuth2 pour lier le fournisseur et Discourse. Je souhaite autoriser la connexion par e-mail uniquement si l’e-mail a été invité à rejoindre la communauté (il ne doit donc pas y avoir de bouton d’inscription), tout en permettant toutes les connexions via OAuth2.
Je n’arrive pas à régler cela avec les paramètres OAuth2 / Connexion. Est-ce possible ? En substance, je veux remplacer les paramètres d’inscription pour OAuth2.
Ensuite, j’ai décoché « Activer les nouvelles inscriptions » :
Je ne peux pas publier l’image (je suis un nouvel utilisateur ici), mais le message indique : « Les inscriptions de nouveaux comptes ne sont pas autorisées pour le moment. »
Je ne suis pas sûr de quelles autres options pourraient résoudre le problème. J’ai essayé une multitude de combinaisons (je ne peux pas tout énumérer ici) et je n’ai pas encore trouvé de résultat qui fonctionne.
Je pense que mon intention n’a pas été comprise. Le flux de connexion OAuth2 fonctionne normalement, mais je souhaite le maintenir activé tout en désactivant les nouvelles inscriptions. Les paramètres d’inscription par OAuth2 et par e-mail semblent liés, donc je ne peux pas simplement « activer » OAuth2 tout en laissant l’inscription par e-mail désactivée.
Que souhaitez-vous qu’il se passe si une personne non invitée tente de se connecter ?
Ah ! Voulez-vous dire que c’est ce qu’une personne voit lorsqu’elle tente de répondre à un lien d’invitation ?
Vous souhaitez n’accepter que les personnes invitées. Vous voulez que ces personnes soient obligées de se connecter avec Clove. N’est-ce pas ? Cela semble être ce qui s’est produit dans votre exemple.
Je pense que l’option « uniquement sur invitation » combinée à la désactivation de tous les types de connexion sauf Clove ferait ce que vous recherchez. Les personnes qui n’ont pas de compte Discourse verront la boîte de dialogue « uniquement sur invitation » que vous affichez. Les personnes invitées devraient pouvoir se connecter via l’authentification OAuth de Clove.
Une explication supplémentaire peut être utile pour bien faire comprendre l’objectif :
Je configure une communauté semi-privée avec trois types d’utilisateurs : les membres du personnel (connexion par e-mail), les utilisateurs de l’application (authentification unique fournie via OAuth2) et les invités spéciaux (e-mail, non utilisateurs de l’application). Je souhaite exiger des invitations pour les invités spéciaux (en leur permettant de se connecter par e-mail), mais je veux considérer les utilisateurs OAuth2 comme « de confiance » et ne pas exiger d’invitation pour eux. La raison en est que le fait de posséder le compte nécessaire pour réussir l’authentification OAuth2 signifie que vous êtes de confiance.
Je parviens à configurer correctement les connexions par e-mail avec invitations, mais cela perturbe les connexions OAuth2, car elles nécessitent également une invitation. Je ne veux pas qu’elles aient besoin d’une invitation ou qu’elles en voient une : elles bénéficient de la confiance du simple fait de disposer du compte SSO.
Je pense, mais je ne suis pas certain, que external auth skip create confirm pourrait être ce que vous cherchez. La description ne mentionne que le SSO, mais je pense qu’elle fonctionne désormais également pour OAuth. J’ai aidé quelqu’un d’autre à configurer un site qui saute la boîte de dialogue de création pour sa configuration OAuth2, et je crois que c’était la clé.
Merci @pfaffman, cela semble être ce que j’ai fini par accepter. Je ne pense pas que ce soit possible avec Discourse hébergé, n’est-ce pas ? Sinon, je devrai peut-être trouver une autre solution pour cela.