Facebook-Login für Discourse konfigurieren

:exclamation: As of February 2023, Meta has implemented a business verification requirement when publishing new and existing apps.

:warning: Updating the Facebook app API or creating a new app will break existing logins. See troubleshooting at the bottom of this post for a solution.

Configuration

Go to developers.facebook.com/apps and …

  1. 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 :heavy_plus_sign: Add new app and follow the guide from step 1b

1a. Select Developer
 ![image|690x408,50%](upload://aps07RfPhmhHIHyMqO3RZkbnKaX.png) 
1b. Provide a name for the app, for example `Discourse Login` and click on <kbd>Next</kbd>.
 ![image|690x435,50%](upload://bqzuaZ5sdnGEdaWWtUqvv9zO6qU.png) 
1c. Click on <kbd>Add your first product</kbd>
 ![image|690x352](upload://8VWUUU5YYXsCVOC2GrhJb3bJbmj.png)
  1. Click Set Up below Facebook Login.
    firefox_2018-03-14_17-08-49

  2. From the menu on the left, exit Quickstart by clicking on Settings under Facebook Login

  3. 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:

  4. 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.”

  5. At the bottom of the page click on :heavy_plus_sign: Add Platform and select Website

  6. Enter your Discourse URL here, for example https://discourse.example.com and click Save Changes

  7. Click on the Status button to change your app from in development to public.


    The category you select does not matter.

    After a few seconds the button will become:
    firefox_2018-03-14_18-20-25

  8. 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

:discourse2: If you are a Discourse hosting customer, contact us via the email address on your site dashboard and we will be happy to assist. :+1: :slightly_smiling_face:

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

Last edited by @martin 2024-06-11T07:00:30Z

Check documentPerform check on document:
77 „Gefällt mir“

Ich glaube, der Prozess zur Konfiguration hat sich mit dem Rebranding zu ‘Meta’ ein wenig geändert. Hier ist eine Schritt-für-Schritt-Anleitung:

1a. Nach dem Klicken auf “Neue App”

Consumer scheint die beste Wahl zu sein, da es eine gute, begrenzte Auswahl an Optionen bietet, die alles Notwendige enthalten.

Am Ende - Erweiterter Zugriff

Sie scheinen jetzt “Erweiterten Zugriff” auf die E-Mail-Adresse des Facebook-Benutzers anfordern zu müssen. Dies schien nur ein paar Klicks zu erfordern und wurde automatisch gewährt. Es erforderte jedoch einiges Herumprobieren, um es zu finden, bevor es auftauchte.

Es scheint auch die Notwendigkeit zu geben, den Zugriff innerhalb des nächsten Monats oder so zu überprüfen. Alles in allem ist es viel mehr Aufwand als die Einrichtung der anderen OAuth-Logins.

6 „Gefällt mir“

Ich konnte die Facebook-Anmeldung endlich als Anmeldemethode für Benutzer konfigurieren (meine ursprüngliche App funktionierte nach der Aktualisierung der DSGVO-Konformität von Facebook nicht mehr). Für Interessierte: Erstellen Sie eine brandneue App in Facebook und zusätzlich zu den im ersten Beitrag genannten Schritten benötigen Sie auf Ihrer Facebook-Entwicklerseite für Ihre App auch diese Schritte:

App ReviewPermissions and Features

  • public_profile → Klicken Sie auf Get Advanced Access → Folgen Sie den Anweisungen
  • email → Klicken Sie auf Get Advanced Access → Folgen Sie den Anweisungen

Jetzt sollten sich Ihre Benutzer mit Facebook anmelden können und E-Mail-Benachrichtigungen für abonnierte Beiträge erhalten.

3 „Gefällt mir“

Ich habe die Facebook-Login-Integration aufgegeben. Entweder sind das Bots oder sie nehmen sich nicht die Zeit zu lesen. Es ist das zweite Mal, dass sie darauf hinweisen, dass meine Datenschutzrichtlinie gegen ihre verstößt. Das erste Mal konnte ich es lösen. Jetzt ist das Problem wieder aufgetreten.

Ihre Reaktion, nachdem ich wiederholt habe, dass meine Datenschutzrichtlinie ihre Anforderungen perfekt erfüllt.

Hallo,

Vielen Dank, dass Sie sich wegen Ihrer App an uns gewandt haben.

Die mit Ihrer App verknüpfte Datenschutzrichtlinie muss der Facebook Platform Policy 4.b entsprechen:

Diese Richtlinie besagt, dass Sie Folgendes enthalten müssen:

  • Eine klare Erklärung, welche Daten Sie sammeln und verarbeiten (erledigt)
  • Den Zweck, für den Sie diese Daten sammeln und verarbeiten (erledigt)
  • Wie Benutzer die Löschung dieser Daten beantragen können (ausstehend – das Löschen des Kontos oder von Inhalten ist nicht dasselbe wie die Aufforderung zur Datenlöschung. Sie können Ihren Satz ändern, um die Plattformbedingungen 4.b zu erfüllen)

Weitere Informationen zu unseren Anforderungen an die Datenschutzrichtlinie finden Sie in Abschnitt vier der Facebook Platform Terms: https://developers.facebook.com/terms/dfc_platform_terms/.

Vielen Dank für Ihre Kooperation. Bitte antworten Sie auf diese E-Mail, wenn Ihre App aktualisiert wurde oder wenn Sie Fragen zu dieser Anfrage haben.

Facebook

Während ich einen Screenshot teile, der perfekt beschreibt, wie Benutzer die Datenentfernung beantragen können und welche Art von Daten es sind.


Wie auch immer, das Wichtigste, was ich jetzt wissen möchte, ist Folgendes: Können sich Personen, die Facebook für die Anmeldung verwendet haben, immer noch mit einer Benutzername/Passwort-Kombination anmelden? Oder bedeutet das, dass ich diese Benutzer verloren habe?

1 „Gefällt mir“

Wenn sie zuvor kein Passwort festgelegt haben, müssen sie eine Zurücksetzungs-E-Mail anfordern, aber ja, sie können sich mit einem Passwort anmelden. Wir haben das gerade in unseren Foren aus demselben Grund durchgemacht.

4 „Gefällt mir“

In meinen Standard-Nutzungsbedingungen gibt es keinen Abschnitt zum Thema #Löschung :frowning:

Welche Inhalte sollte ich hinzufügen, wenn ich diesen Abschnitt manuell erstelle?

1 „Gefällt mir“

Ich habe mein Bestes getan, um unsere Datenschutzrichtlinie zu aktualisieren, damit sie deren Kommentaren entspricht: Privacy - TZM Forum

Es war anfangs in Ordnung, dann kamen sie nach ein oder zwei Monaten mit denselben Beschwerden zurück. Aus irgendeinem Grund war keine Änderung ausreichend, also haben sie die App deaktiviert. Ich habe sie danach entfernt, das Leben ist zu kurz, um mit Facebook (Bots) zu streiten.

6 „Gefällt mir“

Während ihrer jährlichen Überprüfung kann Facebook mein Discourse nicht laden. Sie bleiben auf dem Ladebildschirm hängen.
Das Forum funktioniert auf meiner Seite gut und es sind Benutzer verbunden.

(https://unicyclist.com).

Ich habe ihnen gesagt, sie sollen es noch einmal versuchen, und sie sagten mir erneut, dass sie die Seite nicht laden könnten.

Sie bitten Sie also freundlich, uns einen Screencast zur Verfügung zu stellen, der auch die folgenden Punkte enthält:

  1. Ihr App-Name, Ihre App-ID und Ihr App-Symbol.
  2. Ihr vollständiger Facebook Login-Flow (wenn Sie Facebook Login implementiert haben, zeigen Sie einem App-Benutzer, wie er auf die Schaltfläche “Facebook Login” klickt).
  3. Der Kontoerstellungs- und Login-Flow Ihrer App, falls Ihre App-Benutzer Konten erstellen und sich in Ihrer App anmelden können, ohne Facebook Login zu verwenden.
  4. Zeigen Sie für jede Berechtigung, auf die Ihre App Zugriff hat, einen App-Benutzer, der auf Daten zugreift, die die Berechtigung erfordern, sowie was Ihre App mit diesen Daten tut.
  5. Ein Facebook Login-Flow, der zeigt, was passiert, wenn ein App-Benutzer eine Berechtigung verweigert, nach der Ihre App fragt.
  6. Der Speicherort Ihrer Datenschutzrichtlinie in Ihrer App. Klicken Sie auf den Link zu Ihrer Datenschutzrichtlinie, um den Inhalt Ihrer Richtlinie anzuzeigen.
  7. Inhalt in Ihrer App.
  8. Social Plugins, falls vorhanden, und wie sie verwendet werden. Zum Beispiel das Liken oder Folgen von Seiten, das Teilen von Inhalten auf Facebook oder das Einladen oder Markieren von Freunden. Wenn Ihre App auf verschiedenen Plattformen verfügbar ist (Connect, iOS, Android, Canvas…), stellen Sie bitte sicher, dass Sie alle oben genannten Informationen für die aufgeführten Plattformen anzeigen.

Meta ist so schwer zu handhaben, dass ich vielleicht einfach alle ihre Funktionen von meinen Foren entfernen werde, nämlich Facebook-Logins und Instagram (etwas seltsame) eingebettete iframes (ich vermisse die alten Oneboxes (https://unicyclist.com/t/desert-muni-race-ridgercrest-ca/127502/23?u=canapin)).
Ich kann nicht einmal Vorschauen von Facebook-Links haben, die in Themen gepostet werden (vielleicht wegen dieser nicht auflösbaren Sache).

Ich bin mir nicht sicher, ob diese Funktionen die Mühe wert sind.


Bearbeiten: Ein Freund, der ein Discourse-Forum administriert, erhielt dieselbe E-Mail von Facebook und fragte sich, wie viele seiner Benutzer tatsächlich ein verknüpftes Facebook-Konto hatten.
Sie können diese Abfrage im Daten-Explorer verwenden, um die Anzahl der Benutzer zu ermitteln, die im letzten Jahr mindestens einmal gepostet haben und ein verknüpftes Facebook-Konto haben:

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'

Wenn Sie mit allen Benutzern vergleichen möchten:

SELECT count(*)
FROM users
WHERE last_posted_at > now() - '1 year'::interval

Von meinem Forum aus haben 411 Benutzer im letzten Jahr mindestens einmal gepostet, und 30 von ihnen haben ein verknüpftes Facebook-Konto. Das bedeutet aber nicht, dass sie es auch benutzen.


Bearbeiten: Es ist erledigt, ich habe die Facebook-Funktionen aus meinen Foren deaktiviert. Ich dachte, es wäre vielleicht ein Verlust, aber die Ankündigung brachte mir viele Likes :laughing:. Es scheint, dass meine Communities Facebook doch nicht besonders mögen…

6 „Gefällt mir“

Nachdem ich meinen Forum-Server geändert habe, können meine Benutzer und ich uns nicht mit Facebook-Login anmelden, um zu sprechen. Folgender Fehler tritt auf:

Es gab einen Fehler bei der Autorisierung Ihres Kontos. Bitte versuchen Sie es erneut.

Weiß jemand, warum und wie man das beheben kann?

Haben Sie die gleiche URL für Ihr Forum?

1 „Gefällt mir“

Ich bin bis zum Schritt „Go Public“ gekommen und dann passierte es …

Geschäftsprüfung erforderlich, um live zu gehen

Bevor Sie live gehen können, muss ein App-Administrator die Geschäftsprüfung abschließen. Sobald Ihr Geschäftskonto verifiziert wurde, können Sie zu dieser Seite zurückkehren und live gehen. Mehr über die Geschäftsprüfung erfahren.

Die Geschäftsprüfung ist in meinem Fall hoffnungslos unerreichbar, da ich kein rechtlich eingetragenes Unternehmen habe:

Ich habe gegoogelt und festgestellt, dass diese Änderung erst vor 3 Monaten, also im Februar 2023, stattgefunden hat:

Ich schätze, ich bin für immer im Arsch. Vergessen Sie Facebook-Login für mich. Kleine, informelle Websites sind jetzt einfach vom Spielplatz verbannt. :neutral_face: :disappointed:

3 „Gefällt mir“

Hier sind weitere Informationen zur Straßensperre, die ich gefunden habe.

Graph-API-Dokumentation:

email

Diese Berechtigung oder Funktion ist nur mit Geschäftsverifizierung verfügbar.

public_profile

Diese Berechtigung oder Funktion ist nur mit Geschäftsverifizierung verfügbar.

2 „Gefällt mir“

Ich habe eine E-Mail von Facebook-Entwicklern erhalten, in der steht, dass ich den Zugriff auf meine App (die für die FB-Anmeldung und Instagram-Oneboxing verwendet wird, soweit ich weiß) verliere, es sei denn, ich schließe die Geschäftsverifizierung ab.

Meine Instanz ist nur ein Hobby und verdient bei weitem nicht genug, um als Unternehmen gerechtfertigt zu werden. Ich frage mich nur, wie andere damit umgehen werden?!?

3 „Gefällt mir“

Sollen die Nutzer sich auf andere Weise anmelden? Kekse backen, sie zu Mark Zuckerbergs Tür bringen und sie auf Knien anbieten?

Im Ernst, ich glaube, das ist das Ende der Fahnenstange. Niemand kontrolliert die Website-API von Facebook außer Facebook. Das ist kein Problem, das mit kreativem Denken “gelöst” oder umgangen werden kann.

Entschuldigung, dass ich schlechte Nachrichten überbringe :disappointed_face:

1 „Gefällt mir“

Um das zu verdeutlichen: Gibt es eine Möglichkeit, sich mit Facebook anzumelden, ohne ein verifiziertes Unternehmen zu haben?

Klärung hierzu: Bedeutet dies, dass die Benutzerdaten gelöscht und neue Benutzer für Discourse erstellt werden, oder bedeutet dies, dass der Benutzer beim nächsten Anmelden erneut authentifiziert werden muss (Berechtigungen zum Teilen von Informationen erteilen) durch Facebook?

Um das zu klären, gibt es eine Möglichkeit, sich mit Facebook anzumelden, ohne ein verifiziertes Unternehmen zu haben?

Nein, meines Wissens nach nicht.

1 „Gefällt mir“

Haben Sie diese E-Mail von Meta erhalten?

Es sieht so aus, als ob einige Leute letztes Jahr damit zu kämpfen hatten, also ist es vielleicht jetzt an der Zeit für mich. Ich bin kein Unternehmen, muss ich also in Zukunft die Anmeldung über Meta entfernen?

Datenverwendungs-Checkup für X Community abschließen

Der Schutz der Privatsphäre der Nutzer hat für Meta und die Entwickler, die auf unserer Plattform aufbauen, oberste Priorität. Deshalb verlangen wir einen jährlichen Checkup, um sicherzustellen, dass Ihr API-Zugriff und Ihre Datennutzung den Richtlinien von Meta entsprechen. Mehr erfahren.

Hier ist, was Sie für X Community vor dem 30. Mai 2024 tun müssen, um den API-Zugriff aufrechtzuerhalten und Einschränkungen zu vermeiden:

  1. Überprüfen Sie Ihre zuvor genehmigten oder hinzugefügten Berechtigungen und Funktionen.
  2. Bestätigen Sie, dass diese App den zulässigen Verwendungszwecken entspricht.
  3. Bestätigen Sie, dass Sie die Meta Platform Terms und Developer Policies sowie alle anderen geltenden Bedingungen und Richtlinien einhalten.
  4. Beantworten Sie Fragen zu Ihren Datenverarbeitungspraktiken. Erfahren Sie mehr über unsere Richtlinien zur Datenverarbeitung.

Der Datenverwendungs-Checkup ist eine Anforderung, die einmal jährlich von einem App-Administrator durchgeführt werden muss.
Stellen Sie sicher, dass jede App mit einem verifizierten Unternehmen verbunden ist – dies ist erforderlich, um den Datenverwendungs-Checkup einzureichen.

1 „Gefällt mir“

Ja, das bedeutet genau das.

Danke, Sir.

Jetzt muss ich durchgehen, was ich in der Konfiguration ändern muss. Es ist immer etwas, nicht wahr? :grinning_face_with_smiling_eyes: