Login with the credentials of the account you want to connect to Discourse and follow the wizard.
If you already have other apps instead of Get Started you will see the entry My Apps, then just click on Add new app and follow the guide from step 1b
1a. Select Developer

1b. Provide a name for the app, for example `Discourse Login` and click on <kbd>Next</kbd>.

1c. Click on <kbd>Add your first product</kbd>

Setup the Valid OAuth redirect URI field, entering https://discourse.example.com/auth/facebook/callback – obviously, replacing the domain with your site’s actual domain name and matching the HTTPS protocol. Remember that the HTTPS protocol is now mandatory for all URI redirects. Click Save Changes.
Once completed, a successful setup should look like this in Products/Facebook Login/Settings:
Navigate to Settings/Basic, enter your Discourse URL (https://discourse.example.com) in the App Domains field and also enter the URL for your Discourse site privacy policy and Terms of Service in the appropriate fields and also upload the icon of your site. (Mind that for your privacy and tos link to be verified, you should have a valid SSL certificate integrates, which is not self-signed. If the certificate is missing, or self-signed, you won’t be able to save your changes).
If you have a company that does business in the European Union, you may want to fill in the Data Protection Officer Contact Information form before clicking on Save Changes.
⚠️ Facebook has changed this step to ask for extra information. We are currently working to determine what you need to provide; see recent replies. (November 2020)
There is now a field for User Data Deletion information for GDPR compliance. Select “Data Deletion Instructions URL” from the dropdown and add a link to a page (such as https://discourse.example.com/tos#deletion) which contains a sentence like “Accounts on this site can be anonymized or deleted at the user’s request. Contact our @support group for details.”
At the bottom of the page click on Add Platform and select Website
In Discourse site settings, enter your Facebook app’s App ID and App Secret in the facebook app id and facebook app secret fields. You’ll also want to check off Enable Facebook authentication, requires facebook_app_id and facebook_app_secret
That’s it! Facebook login should work now. Be sure to test it from a “normal” Facebook account, not your developer account.
Troubleshooting
Hosted Customers
If you are a Discourse hosting customer, contact us via the email address on your site dashboard and we will be happy to assist.
If you’re hosted by another provider you will need to contact them for any server-related tasks or issues.
Self-hosters
If the Facebook app API is updated, or the app ID/secret are changed, you’ll need to remove existing associations from your site before users can log in again. To remove this data, run the following:
cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "facebook").delete_all
Consumer semble être le meilleur choix, offrant un ensemble limité d’options avec tout ce dont nous avons besoin.
À la fin - Accès avancé
Vous semblez maintenant devoir demander l’« Accès avancé » à l’adresse e-mail de l’utilisateur Facebook. Cela semble nécessiter quelques clics et a été automatiquement accordé. Cependant, il a fallu un peu chercher avant qu’il n’apparaisse.
Il semble également qu’il faille examiner l’accès dans le mois qui suit. Dans l’ensemble, c’est beaucoup plus compliqué que de configurer les autres connexions OAuth.
J’ai finalement réussi à configurer la connexion Facebook comme méthode d’inscription pour les utilisateurs (mon application d’origine a cessé de fonctionner après que Facebook ait mis à jour sa conformité RGPD). Pour ceux qui sont intéressés, créez une toute nouvelle application dans Facebook et en plus des étapes mentionnées dans le premier post, vous aurez également besoin de ces étapes sur votre page développeurs Facebook pour votre application :
App Review → Permissions and Features
public_profile → Cliquez sur Get Advanced Access → Suivez les instructions
email → Cliquez sur Get Advanced Access → Suivez les instructions
Maintenant, vos utilisateurs devraient pouvoir s’inscrire en utilisant Facebook et ils devraient recevoir des notifications par e-mail pour les publications auxquelles ils sont abonnés.
J’ai abandonné l’intégration de la connexion Facebook. Soit ce sont des robots, soit ils ne prennent pas le temps de lire. C’est la deuxième fois qu’ils me disent que ma politique de confidentialité enfreint la leur. La première fois, j’ai pu résoudre le problème. Maintenant, le problème est revenu.
Leur réaction après que j’ai répété que ma politique de confidentialité répondait parfaitement à leurs exigences.
Bonjour,
Merci de nous avoir contactés au sujet de votre application.
La politique de confidentialité liée à votre application doit être conforme à la politique de la plateforme Facebook 4.b :
Cette politique stipule que vous devez inclure tout ce qui suit :
Une explication claire des données que vous collectez et traitez (fait)
Le but pour lequel vous collectez et traitez ces données (fait)
Comment les utilisateurs peuvent demander la suppression de ces données (en attente - la suppression du compte ou du contenu n’est pas similaire à la possibilité pour l’utilisateur de demander la suppression des données. Vous pouvez modifier votre phrase pour rendre la plateforme conforme aux conditions 4.b)
Pour plus d’informations concernant nos exigences en matière de politique de confidentialité, veuillez consulter la section quatre des conditions de la plateforme Facebook : https://developers.facebook.com/terms/dfc_platform_terms/.
Merci de votre coopération. Veuillez répondre à cet e-mail une fois votre application mise à jour ou si vous avez des questions concernant cette demande.
Facebook
Tout en partageant une capture d’écran qui décrit parfaitement comment les utilisateurs peuvent demander la suppression des données et quel type de données il s’agit.
Quoi qu’il en soit, la chose la plus importante que je veuille savoir maintenant est la suivante. Les personnes qui utilisaient Facebook pour se connecter, peuvent-elles toujours se connecter avec une combinaison nom d’utilisateur/mot de passe ? Ou cela signifie-t-il que j’ai perdu ces utilisateurs ?
s’ils n’avaient pas défini de mot de passe auparavant, ils devront demander un e-mail de réinitialisation, mais oui, ils peuvent se connecter avec un mot de passe. Nous venons de traverser cela sur nos forums et pour la même raison.
J’ai fait de mon mieux pour mettre à jour notre politique de confidentialité afin de nous conformer à leurs commentaires : Privacy - TZM Forum
Au début, tout allait bien, puis après un mois ou deux, ils sont revenus avec les mêmes plaintes. Pour une raison quelconque, aucun changement n’a été suffisant, alors ils ont désactivé l’application. Je l’ai ensuite supprimée, la vie est trop courte pour se disputer avec Facebook (des bots).
Lors de leur contrôle annuel, Facebook ne parvient pas à charger mon Discourse. Ils restent bloqués sur l’écran de chargement.
Le forum fonctionne bien de mon côté et il y a des utilisateurs connectés.
Je leur ai dit de réessayer, et ils m’ont encore dit qu’ils ne parvenaient pas à charger la page.
Alors, ils…
demandent gentiment de leur fournir une vidéo qui inclut également les éléments suivants :
Le nom de votre application, son ID et son icône.
Votre flux complet de connexion Facebook (si vous avez implémenté la connexion Facebook, montrez un utilisateur de l’application localisant le bouton de connexion Facebook).
Le flux de création de compte et de connexion de votre application, si les utilisateurs de votre application peuvent créer des comptes et se connecter à votre application sans utiliser la connexion Facebook.
Pour chaque autorisation à laquelle votre application a accès, montrez un utilisateur de l’application accédant à des données nécessitant cette autorisation, ainsi que ce que votre application fait de ces données.
Un flux de connexion Facebook montrant ce qui se passe lorsqu’un utilisateur de l’application refuse une autorisation demandée par votre application.
L’emplacement de votre politique de confidentialité dans votre application. Cliquez sur le lien vers votre politique de confidentialité pour afficher le contenu de votre politique.
Le contenu de votre application.
Les plugins sociaux, le cas échéant, et leur utilisation. Par exemple, aimer ou suivre des pages, partager du contenu sur Facebook, ou inviter ou identifier des amis. Si votre application est disponible sur différentes plateformes (Connect, iOS, Android, Canvas…), assurez-vous de montrer toutes les informations ci-dessus pour les plateformes listées.
Meta est tellement difficile à gérer que je pourrais simplement supprimer toutes leurs fonctionnalités de mes forums, qui sont les connexions Facebook et les iframes Instagram intégrées (un peu bancales) (je regrette les anciens oneboxes).
Je ne peux même pas avoir d’aperçus des liens Facebook postés dans les sujets (peut-être à cause de cette chose non résolvable).
Je ne suis pas sûr que ces fonctionnalités valent la peine de s’en préoccuper.
Edit : un ami qui administre un forum Discourse a reçu le même e-mail de Facebook et s’est demandé combien de ses utilisateurs avaient réellement un compte Facebook lié.
Vous pouvez utiliser ces requêtes dans data explorer pour obtenir le nombre d’utilisateurs qui ont posté au moins une fois au cours de la dernière année et qui ont un compte Facebook lié :
SELECT count(*)
FROM users
LEFT JOIN user_associated_accounts ON user_id = users.id
WHERE last_posted_at > now() - '1 year'::interval
AND provider_name = 'facebook'
Si vous voulez comparer avec tous les utilisateurs :
SELECT count(*)
FROM users
WHERE last_posted_at > now() - '1 year'::interval
Sur mon forum, 411 utilisateurs ont posté au moins une fois l’année dernière, et 30 d’entre eux ont un compte Facebook lié. Cela ne signifie pas qu’ils l’utilisent cependant.
Edit : c’est fait, j’ai désactivé les fonctionnalités Facebook de mes forums. Je pensais peut-être que c’était une perte, mais l’annoncer m’a valu beaucoup de likes . Il semble que mes communautés ne soient pas particulièrement friandes de Facebook après tout…
Après avoir changé mon serveur de forum, mes utilisateurs et moi ne pouvons pas utiliser la connexion Facebook pour entrer dans speech, l’erreur suivante apparaît
Désolé, une erreur s’est produite lors de l’autorisation de votre compte. Veuillez réessayer.
Vérification de l’entreprise requise pour la mise en ligne
Avant de pouvoir passer en ligne, un administrateur de l’application doit effectuer la vérification de l’entreprise. Une fois votre compte d’entreprise vérifié, vous pourrez revenir sur cette page et passer en ligne. En savoir plus sur la vérification de l’entreprise.
La vérification de l’entreprise est désespérément hors de portée dans mon cas, car je n’ai pas d’entreprise légalement constituée :
J’ai cherché sur Google et j’ai trouvé que ce changement avait eu lieu il y a seulement 3 mois, c’est-à-dire en février 2023 :
Je suppose que je suis foutu pour toujours. Oubliez la connexion Facebook pour moi. Les petits sites web informels sont maintenant bannis du terrain de jeu.
J’ai reçu un e-mail de développeur Facebook indiquant que je perdrai l’accès à mon application (utilisée pour la connexion FB et l’intégration Instagram, à ma connaissance) à moins que je ne complète la vérification de l’entreprise.
Mon instance est juste un passe-temps et ne rapporte en aucun cas suffisamment pour être justifiée comme une entreprise. Je me demande juste comment d’autres personnes prévoient de s’y prendre?!?
Dire aux utilisateurs de se connecter autrement ? Préparer des cookies, les apporter à la porte de Mark Zuckerberg et les offrir à genoux ?
Sérieusement, je pense que c’est la fin. Personne ne contrôle l’API du site web de Facebook à part Facebook. Ce n’est pas un problème qui peut être “résolu” par la pensée créative, ou contourné par l’ingénierie.
Clarification à ce sujet : cela signifie-t-il que les données de l’utilisateur seront supprimées et qu’un nouvel utilisateur sera créé pour Discourse, ou que l’utilisateur devra se réauthentifier (autoriser le partage d’informations) par Facebook lors de la prochaine connexion ?
Quelqu’un d’autre a-t-il reçu cet e-mail de Meta ?
Il semble que certaines personnes aient rencontré cela l’année dernière, alors c’est peut-être mon tour maintenant. Je ne suis pas une entreprise, donc cela signifie-t-il que je devrai supprimer la connexion via Meta à l’avenir ?
Effectuez la vérification de l’utilisation des données pour X Community
La protection de la vie privée des utilisateurs est une priorité majeure pour Meta et les développeurs qui créent sur notre plateforme. C’est pourquoi nous exigeons une vérification annuelle pour nous assurer que votre accès aux API et votre utilisation des données sont conformes aux politiques de Meta. En savoir plus.
Voici ce que vous devez faire pour X Community avant le 30 mai 2024 afin de maintenir l’accès aux API et d’éviter les restrictions :
Examinez les autorisations et les fonctionnalités que vous avez précédemment approuvées ou ajoutées.
Certifiez que cette application respecte l’utilisation autorisée.
La vérification de l’utilisation des données est une exigence qui doit être effectuée une fois par an par un administrateur d’application.
Assurez-vous que chaque application est connectée à une entreprise vérifiée — cela est requis pour pouvoir soumettre la vérification de l’utilisation des données.