david
(David Taylor)
Avril 7, 2021, 9:10
2
rodypl:
Vous savez comment, lorsqu’un utilisateur tente de se connecter ou de créer un compte, il est présenté avec les champs e-mail/mot de passe, mais à droite de cela, on lui propose des options pour se connecter avec Facebook, Google, etc. ? Pourrais-je simplement faire en sorte que le compte de mon site soit l’une de ces options à droite ?
Cela dépend de ce que vous entendez par « SSO » :
Si vous parlez de Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) , alors vous ne pouvez pas l’utiliser en même temps que d’autres options de connexion.
Si vous parlez d’OAuth2, d’OpenID Connect ou de l’un de nos autres plugins d’authentification, alors oui, ils peuvent être utilisés les uns avec les autres, ainsi qu’avec la connexion par e-mail/mot de passe.
Bonne nouvelle à ce sujet : nous avons récemment ajouté le support des invitations pour DiscourseConnect .
committed 12:20AM - 19 Mar 21 UTC
This PR allows invitations to be used when the DiscourseConnect SSO is enabled f… or a site (`enable_discourse_connect`) and local logins are disabled. Previously invites could not be accepted with SSO enabled simply because we did not have the code paths to handle that logic.
The invitation methods that are supported include:
* Inviting people to groups via email address
* Inviting people to topics via email address
* Using invitation links generated by the Invite Users UI in the /my/invited/pending route
The flow works like this:
1. User visits an invite URL
2. The normal invitation validations (redemptions/expiry) happen at that point
3. We store the invite key in a secure session
4. The user clicks "Accept Invitation and Continue" (see below)
5. The user is redirected to /session/sso then to the SSO provider URL then back to /session/sso_login
6. We retrieve the invite based on the invite key in secure session. We revalidate the invitation. We show an error to the user if it is not valid. An additional check here for invites with an email specified is to check the SSO email matches the invite email
7. If the invite is OK we create the user via the normal SSO methods
8. We redeem the invite and activate the user. We clear the invite key in secure session.
9. If the invite had a topic we redirect the user there, otherwise we redirect to /
Note that we decided for SSO-based invites the `must_approve_users` site setting is ignored, because the invite is a form of pre-approval, and because regular non-staff users cannot send out email invites or generally invite to the forum in this case.
Also deletes some group invite checks as per https://github.com/discourse/discourse/pull/12353
Et pour les autres méthodes de connexion :
committed 01:27AM - 09 Mar 21 UTC
Ces modifications sont en ligne dans la dernière version de Discourse.
4 « J'aime »