FastComments.com

Anpassungen und Konfiguration

Kontext

Hier finden Sie ausführliche Dokumentation zu jeder Funktion und Einstellung, die das Kommentar-Widget unterstützt.

Diese Dokumentation behandelt die Kernkonzepte und geht ausführlich auf jeden Funktionsbereich ein, mit Anleitungen und häufigen Fallstricken.

Codebeispiele werden bereitgestellt, wobei relevante Zeilen hervorgehoben werden. Screenshots von Konfigurationsseiten werden gegebenenfalls bereitgestellt.

Die Codebeispiele verwenden unsere Vanilla-JavaScript-Bibliothek, jedoch verwenden die Konfigurationsoptionen exakt dieselben Namen für alle Versionen des Kommentar-Widgets (React, Vue usw.).

Die meisten in diesem Leitfaden beschriebenen Konfigurationen und Funktionen erfordern kein Schreiben von Code.

Die gleichen Kommentare auf verschiedenen Seiten darstellen Internal Link


Da der Parameter urlId es uns ermöglicht zu definieren, an welche Seite bzw. ID die Kommentare gebunden sind, können wir einfach urlId auf denselben Wert auf diesen Seiten setzen.

The Same Comments on Multiple Pages
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "urlId": "https://example.com/source-page"
8}];
9</script>
10

Benutzerdefinierte Schriftarten Internal Link

FastComments ist so konzipiert, dass es angepasst werden kann, und die Schriftart, die unsere Widgets verwenden, bildet da keine Ausnahme.

Standardmäßig verwendet FastComments die system font stack, damit es auf einer Vielzahl von Geräten bestmöglich aussieht.

Um eigene Schriftarten zu definieren, siehe die Dokumentation für benutzerdefiniertes CSS.

Dort finden Sie eine Möglichkeit, benutzerdefiniertes CSS zu definieren, mit dem Sie Ihre gewünschten Schriftarten festlegen können.

So definieren Sie die Schriftart

Um die Schriftart zu überschreiben, empfehlen wir, Ihr CSS mit den Selektoren .fast-comments, textarea zu definieren. Zum Beispiel:

Beispiel für externe benutzerdefinierte Schriftart
Copy CopyRun External Link
1
2@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
3.fast-comments, textarea {
4 font-family: 'Roboto', sans-serif;
5}
6

Unterstützung für dunkle Hintergründe (Dunkelmodus) Internal Link


Standardmäßig erkennt das FastComments-Kommentar-Widget auf den meisten Websites automatisch den Dunkelmodus.

Wenn der Dunkelmodus erkannt wird, wechselt FastComments von schwarzem Text auf weißem Hintergrund zu weißem Text auf schwarzem Hintergrund. Auch Bilder werden angepasst.

Beim Laden der Seite versucht das Widget zu ermitteln, wie dunkel der Hintergrund der Seite hinter dem Kommentar-Widget ist. Das bedeutet, die Seite könnte einen weißen Hintergrund haben, aber wenn Sie das Kommentar-Widget in einen Container mit schwarzem Hintergrund setzen, sollte der Dunkelmodus trotzdem automatisch aktiviert werden, damit die Kommentare lesbar sind.

Der Erkennungsmechanismus, der auf der Bestimmung der "luminance" beruht, kann den Dunkelmodus jedoch möglicherweise nicht dann aktivieren, wenn Sie es wünschen. Um ihn zwangsweise zu aktivieren, setzen Sie das Flag hasDarkBackground auf true wie folgt:

Force Dark Background Mode
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "hasDarkBackground": true
8}];
9</script>
10

Verlinkung von Kommentaren zu Seiten Internal Link

Beim Versenden von Benachrichtigungs-E-Mails oder beim Anzeigen von Kommentaren in Benutzeroberflächen wie der Moderationsseite ist es hilfreich, einen Link vom Kommentar zur Seite zu setzen, auf der er sich befindet.

Wenn die URL ID nicht immer eine ID ist, müssen wir die URL an einer anderen Stelle speichern. Genau dafür ist die "url" property gedacht, die wie folgt definiert ist.

Defining a Custom URL
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5"
8}];
9</script>
10

Ein häufiger Anwendungsfall ist, den Kommentar-Thread an einen Bezeichner wie einen Artikel zu binden und dann beispielsweise auf eine bestimmte Seite zurückzuverlinken:

Defining Custom URL and URL IDs together
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5",
8 "urlId": "article-5"
9}];
10</script>
11

Die URL wird nicht von üblichen Marketing-Parametern bereinigt. Standardmäßig wird genau die aktuelle Seiten-URL mit dem Kommentar gespeichert.

Festlegen, welche Seite gerendert wird Internal Link

Beim Abrufen und Anzeigen von Kommentaren muss das Kommentar-Widget wissen, auf welcher Seite es beginnen soll. Standardmäßig beginnt es mit der ersten Seite und zeigt nur diese Seite an.

Wenn gewünscht, kann die genaue zu rendende Seite dem Kommentar-Widget als Einstellung startingPage übergeben werden.

Specifying The Page to Render
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": 1
8}];
9</script>
10

Beachte, dass die Seitennummern bei null beginnen, daher zeigt das obige Beispiel die zweite Seite an.


Wechseln von Kommentar-Threads ohne Neuladen der Seite Internal Link

Wir haben behandelt, wie urlId die Seiten- oder Artikel-ID ist, an die die Kommentare gebunden sind.

Außerdem, zur Erinnerung: wenn nicht definiert, wird die urlId standardmäßig auf die aktuelle Seiten-URL gesetzt.

Wie sieht es mit SPAs, oder Single-Page-Applications, aus, bei denen die Seite oder der Inhalt, an den die Kommentare gebunden sind, sich dynamisch ändert, ohne dass die Seite neu geladen wird?

Angular, React, Vue, etc

Mit unseren Bibliotheken wie Angular und React bewirkt das einfache Aktualisieren der an das Widget übergebenen urlId-Eigenschaft, dass das Kommentar-Widget aktualisiert wird. Sie können dies beispielsweise in der React-App hier sehen.

VanillaJS

Wenn Sie die VanillaJS-Bibliothek verwenden, ist es etwas komplizierter, da es kein Framework wie Angular oder React gibt, das die Datenbindung oder Zustandsweitergabe übernimmt.

Wenn Sie das VanillaJS-Widget instanziieren, gibt es einige Funktionen zurück, die aufgerufen werden können, um es zu aktualisieren.

Hier ein funktionales Beispiel, in dem wir den Seiten-Hash ändern und das Kommentar-Widget aktualisieren:

Beispiel zum Wechseln des Seiten-Hashes
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<button id="change-page"></button>
4<div id="fastcomments-widget"></div>
5<script>
6 (function fastCommentsMain() {
7 let config = {
8 tenantId: 'demo'
9 };
10 let instance = window.FastCommentsUI(document.getElementById('fastcomments-widget'), config);
11
12 let page = '#page-1';
13 function getNextPage() {
14 if (page === '#page-1') {
15 return '#page-2';
16 } else {
17 return '#page-1';
18 }
19 }
20
21 let button = document.getElementById('change-page');
22 function nextPage() {
23 page = getNextPage();
24 button.innerText = 'Go to ' + getNextPage();
25 window.location.hash = page;
26 let locationString = window.location.toString();
27
28 config.url = locationString; // We update url, too, so notifications can link back to the right page
29 config.urlId = locationString;
30
31 instance.update(config);
32 }
33 nextPage();
34 button.addEventListener('click', nextPage);
35 })();
36</script>
37

Bildweiterleitung deaktivieren Internal Link


Standardmäßig erlaubt FastComments Benutzern, Bilder hochzuladen. Wenn ein Benutzer auf dieses Bild klickt, öffnet FastComments standardmäßig einen neuen Tab, um das Bild vollständig anzuzeigen. Das Setzen dieses Flags auf true deaktiviert dieses Verhalten:

Disable Image Redirect
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "disableImageRedirect": true
8}];
9</script>
10

Wenn Sie nicht vorhaben, den Bildklick selbst abzufangen (siehe onImageClicked), empfehlen wir, dies mit etwas Styling zu kombinieren, um den Eindruck zu vermeiden, dass das Bild anklickbar ist.


Neue Kommentare hervorheben Internal Link

FastComments bietet mehrere Möglichkeiten, neue Kommentare hervorzuheben.

In erster Linie werden standardmäßig Kommentare, die eine In-App-Benachrichtigung ausgelöst haben (Antworten, Antworten im selben Thread oder Kommentare auf einer Seite die Sie abonniert haben), automatisch hervorgehoben, indem der Avatar des Benutzers leicht aufleuchtet. Die Farbe kann über CSS mithilfe der is-unread-Klasse angepasst werden.

Kommentare, die in den letzten 24 Stunden gepostet wurden, haben die Klasse 24hr, die für Styling verwendet werden kann.

Schließlich werden alle neuen Live-Kommentare, die während der Sitzung des Benutzers erscheinen, für mehrere Sekunden mittels einer Animation hervorgehoben. Dies geschieht über die is-live CSS-Klasse und kann ebenfalls angepasst werden.

E-Mail-Vorlagen Internal Link

E-Mails, die FastComments an Ihre Kunden sendet, können angepasst werden. Die Vorlage, die Logik, und die Übersetzungen können alle geändert werden. Text kann pro Gebietsschema angepasst werden, und das Styling kann sogar pro Domain geändert werden. Erfahren Sie mehr über benutzerdefinierte E-Mail-Vorlagen hier.

Neue Live-Kommentare unten anzeigen Internal Link

Standardmäßig erscheinen neue Live-Kommentare oben in der Kommentarliste, sobald sie in Echtzeit veröffentlicht werden.

Wenn diese Option aktiviert ist, werden neue Live-Kommentare stattdessen am unteren Ende der Liste hinzugefügt. Dies beeinflusst, wie Kommentare erscheinen, wenn sie live gepostet werden, während Benutzer den Kommentarthread ansehen.

New Live Comments to Bottom
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "newCommentsToBottom": true
8}];
9</script>
10

Wenn diese Einstellung aktiviert ist:

  • Von anderen Benutzern gepostete neue Live-Kommentare werden am unteren Ende der Kommentarliste erscheinen
  • Benutzer sehen in Echtzeit, wie neue Kommentare unter bestehenden Kommentaren erscheinen
  • Dies betrifft nur Live-Kommentar-Aktualisierungen - nicht das initiale Laden der Seite
  • Dies kann helfen, den Lesefluss zu erhalten, wenn Benutzer einer Diskussion folgen

Beachten Sie, dass diese Einstellung nur beeinflusst, wo neue Live-Kommentare platziert werden, wenn sie in Echtzeit eintreffen. Sie beeinflusst nicht die anfängliche Sortierreihenfolge beim Laden der Seite.

Unendliches Scrollen aktivieren Internal Link

Standardmäßig passt sich das FastComments-Widget in der Höhe an, um alle sichtbaren Kommentare anzuzeigen. Die Paginierung erfolgt über eine "Weiter anzeigen"-Schaltfläche am Ende der aktuellen Seite, da wir festgestellt haben, dass diese Interaktion für die meisten Benutzer am angenehmsten ist.

Es gibt jedoch Fälle, in denen unendliches Scrollen bevorzugt wird. Zum Beispiel verwenden wir diese Funktion in unserem Stream Chat-Produkt.

Wir können die "Weiter anzeigen"-Schaltflächen ausblenden und auf unendliches Scrollen umschalten, indem wir das Flag enableInfiniteScrolling auf true setzen:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true
8}];
9</script>
10

Dafür ist außerdem das Hinzufügen von benutzerdefiniertem CSS erforderlich. Füge zum Beispiel benutzerdefiniertes CSS für den Selektor .comments hinzu, um das Scrollen zu ermöglichen:

Unendliches Scrollen aktivieren
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

Ein vollständiges, funktionierendes Beispiel wäre:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true,
8 "customCSS": ".comments { max-height: 500px; overflow-y: auto; }"
9}];
10</script>
11

Im obigen Beispiel verwenden wir die Eigenschaft customCSS; es wird jedoch empfohlen, stattdessen die Widget-Konfigurationsoberfläche aus Leistungsgründen zu verwenden. Siehe die Dokumentation zu Custom CSS.

Alle Kommentare auf einmal darstellen – Paginierung deaktivieren Internal Link


Um die Paginierung zu deaktivieren und alle Kommentare auf einmal darzustellen, setzen Sie startingPage auf -1.

Render All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": -1
8}];
9</script>
10

Neue Top-Level-Kommentare verhindern Internal Link

Einstellen von noNewRootComments auf true bewirkt, dass das Widget den Bereich für Antworten auf Root-Kommentare ausblendet, erlaubt aber weiterhin Benutzern, auf Unterkommentare zu antworten. Sie könnten dies beispielsweise beim Laden der Seite bedingt setzen, um nur einigen Benutzern das Hinterlassen von Kommentaren auf oberster Ebene zu erlauben.

Prevent New Root Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "noNewRootComments": true
8}];
9</script>
10

Maximale Antworttiefe Internal Link

Standardmäßig erlaubt FastComments unbegrenzte Verschachtelung von Antworten und erzeugt so eine Thread-Struktur, in der Benutzer Antworten auf Antworten unbegrenzt schreiben können.

Die Option maxReplyDepth ermöglicht es Ihnen, die Tiefe von Antwort-Threads zu begrenzen. Wenn die maximale Tiefe erreicht ist, sehen Benutzer bei Kommentaren auf dieser Ebene keine Antwort-Schaltfläche mehr.

Limiting Reply Depth to 2 Levels
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "maxReplyDepth": 2
8}];
9</script>
10

Bei maxReplyDepth = 2:

  • Benutzer können auf oberster Ebene kommentieren (Tiefe 0)
  • Benutzer können auf Kommentare der obersten Ebene antworten (Tiefe 1)
  • Benutzer können auf diese Antworten antworten (Tiefe 2)
  • Weitere Antworten über Tiefe 2 hinaus sind nicht erlaubt

Das Setzen auf 1 würde nur Antworten auf Kommentare der obersten Ebene erlauben und eine flachere Diskussionsstruktur schaffen.

Das Setzen von maxReplyDepth auf 0 würde alle Antworten deaktivieren und nur Kommentare auf oberster Ebene erlauben. Wird es nicht angegeben, können Antworten unbegrenzt verschachtelt werden.

Single Sign-On (SSO) – Übersicht Internal Link

SSO, oder Single Sign-On, ist eine Sammlung von Konventionen, die es Ihnen oder Ihren Nutzern ermöglicht, FastComments zu verwenden, ohne ein weiteres Konto erstellen zu müssen.

Vorausgesetzt, Sie erlauben keine anonymen Kommentare, ist ein Konto erforderlich, um mit FastComments zu kommentieren. Wir machen diesen Anmeldeprozess sehr einfach – der Nutzer hinterlässt beim Kommentieren einfach seine E-Mail. Wir verstehen jedoch, dass selbst das für manche Seiten zusätzliche Reibung bedeutet, die sie vermeiden möchten.

Wir können diese Reibung verringern, indem wir nur einen einzigen Anmeldeablauf für Ihre gesamte Website haben.

Wie bekomme ich es?

Alle Kontotypen haben derzeit Zugriff auf SSO. Die maximale Anzahl an SSO-Nutzern hängt jedoch von Ihrem Paket ab. Wie bei anderen Funktionen bieten die Pro-Pläne und höher direkten Entwicklungssupport.

Vergleichen wir die Optionen und gehen dann ins Detail zu jeder einzelnen.

Benutzer- und Kommentar-Migrationen

Bei der Migration von einer Plattform mit SSO wie Disqus haben Sie bereits Benutzer und deren Kommentare.

Kommentare werden im Rahmen Ihrer Migration importiert, entweder über die API, unser Import-UI oder den Kundensupport. Das Import-UI wird bevorzugt, wenn es die Plattform unterstützt, von der Sie migrieren, da es Fehlerbehandlung, Avatar- und Medienextraktion und Uploads sowie ein Batch-Job-Überwachungssystem integriert.

Die Benutzer selbst werden automatisch hinzugefügt, wenn Kommentar-Threads zum ersten Mal angesehen werden. Alternativ können sie vorab über die API hinzugefügt werden, aber diese Arbeit bietet nicht viele Vorteile.

Wenn Kommentare importiert werden und SSO-Benutzer nicht manuell über die API hinzugefügt werden, werden die Kommentare beim ersten Erstellen des Benutzerkontos automatisch dem Benutzerkonto zugewiesen, wenn dieser einen Kommentar-Thread ansieht. Sie können dann die Kommentare bearbeiten, verwalten und löschen, die sie ursprünglich verfasst haben.

Die automatische Migration erfolgt per E-Mail oder Benutzername. Einige Plattformen liefern beim Export keine E-Mails, wie Disqus, daher greifen wir in diesem Fall auf den Benutzernamen zurück.

  • Solange Sie einen übereinstimmenden Benutzernamen und eine E-Mail im SSO-Payload übergeben, fügen wir die E-Mail den einzelnen Kommentarobjekten hinzu, damit Benachrichtigungen und Erwähnungen funktionieren.

Wenn gewünscht ist, Kommentare und Benutzer gleichzeitig zu importieren, arbeiten Sie mit dem Support zusammen, um die Kommentare nach dem Import der Benutzer über die API den jeweiligen Benutzerkonten zuzuordnen.

Zusammengefasst ist der einfachste Migrationspfad:

  1. Importieren Sie Kommentare.
    1. Avatare und andere Medien werden automatisch migriert, wenn das Import-UI unter Manage Data -> Imports verwendet wird.
  2. Richten Sie Secure SSO oder Simple SSO ein.
  3. Lassen Sie die Migration pro Benutzer automatisch beim ersten Login ablaufen.
    1. Dies fügt der Seitenladezeit normalerweise weniger als eine Sekunde hinzu, wenn der Benutzer weniger als 50k Kommentare hat.

WordPress-Benutzer

Wenn Sie unser WordPress-Plugin verwenden, müssen Sie keinen Code schreiben! Gehen Sie einfach zur Admin-Seite des Plugins, klicken Sie auf SSO-Einstellungen und dann auf Aktivieren.

Dies führt Sie durch einen Ein-Klick-Assistenten, der Ihren API-Schlüssel erstellt, ihn an Ihre WordPress-Installation sendet und SSO aktiviert. Wir haben dies für Sie in einen einzelnen Klick zusammengefasst.

Beachten Sie, dass Sie beim ersten Installieren des Plugins den Einrichtungsprozess abschließen müssen, bevor Sie die Admin-Seite mit der Schaltfläche SSO-Einstellungen sehen.

WordPress SSO - Moderatoren

Beachten Sie, dass derzeit das "Moderator"-Abzeichen neben Ihren Moderatoren, wenn diese mit dem FastComments WordPress-Plugin kommentieren, nur angezeigt wird, wenn sie zusätzlich als Moderator im FastComments-Dashboard hinzugefügt wurden und ihre E-Mail verifiziert ist.

Benutzerdefinierte Integrationen

Für benutzerdefinierte Integrationen gibt es zwei Optionen.

Option Eins - Secure SSO

Mit Secure SSO weiß FastComments, dass der kommentierende, abstimmende und lesende Nutzer ein echter Nutzer auf Ihrer Seite ist.

Solange Sie eine gültige Payload erzeugen, hat der Nutzer immer ein nahtloses Kommentiererlebnis.

Bei Secure SSO wird die SSO-Payload serverseitig unter Verwendung von HMAC-Authentifizierung erzeugt und dann dem Widget auf dem Client übergeben.

Bei Secure SSO ist das Benutzerkonto völlig getrennt vom übrigen FastComments-Benutzerstamm. Das bedeutet, wenn wir zwei Partner haben, Firma A und Firma B, kann jeder einen SSO-Benutzer mit dem Benutzernamen "Bob" haben.

Voraussetzungen

  • Grundlegende Kenntnisse in der Backend-Entwicklung.
  • Grundlegende Kenntnisse im Umgang mit geheimen API-Schlüsseln.
  • Grundlegende Kenntnisse in API-Entwicklung oder serverseitigem Rendering.

Vorteile

  • Sicher.
  • Nahtloses Kommentiererlebnis.

Nachteile

  • Erfordert Backend-Entwicklung.

Aktualisierung von Benutzerdaten

Bei Secure SSO aktualisieren wir den Benutzer bei jedem Übergeben der SSO-User-Payload mit den neuesten Informationen. Zum Beispiel, wenn der Benutzer den Benutzernamen X hat und Sie in der SSO-Payload Y übergeben, wird sein Benutzername zu Y.

Wenn Sie mit diesem Ansatz Werte entfernen möchten, setzen Sie sie auf null (nicht undefined).

Secure SSO API

Wir bieten auch eine API zur Interaktion mit den SSO-Benutzern. Siehe die Dokumentation.

Beachten Sie, dass bei Verwendung von Secure SSO Benutzer beim Laden der Seite automatisch im Hintergrund erstellt werden. Sie müssen Ihre Benutzer nicht in großen Mengen importieren.

Option Zwei - Simple SSO

Die Alternative zu Secure SSO besteht darin, dem Kommentar-Widget einfach die Benutzerinformationen zu übergeben.

Bei Simple SSO ist das Angeben einer E-Mail nicht erforderlich, jedoch werden ohne diese ihre Kommentare als "Unverified" angezeigt.

Hinweis! Ab Anfang 2022 müssen Benutzernamen bei Simple SSO nicht mehr über alle FastComments.com hinweg eindeutig sein.

Idealerweise sollte Simple SSO nur gewählt werden, wenn Sie auf einer Plattform entwickeln, die keinen Backend-Zugriff bietet.

Voraussetzungen

  • Grundlegende Kenntnisse in der clientseitigen Entwicklung.
  • Kenntnis mindestens der E-Mail des Nutzers.

Vorteile

  • Einfach.
  • Alle Aktivitäten werden weiterhin verifiziert.
  • Der Nutzer gibt niemals seinen Benutzernamen oder seine E-Mail ein.

Nachteile

  • Weniger sicher als Secure SSO, da die Client-seitige Payload manipuliert werden könnte, um beliebig als ein anderer Nutzer aufzutreten.

Simple SSO API

Benutzer, die automatisch über den Simple SSO-Fluss erstellt wurden, werden als SSOUser-Objekte gespeichert. Sie können über die SSOUser-API auf sie zugreifen und sie verwalten. Siehe die Dokumentation.

Benutzerdefinierte Integrationen – einfaches Single Sign-On (SSO) Internal Link

Mit Simple SSO können wir dem Kommentar-Widget Informationen über den Benutzer bereitstellen, damit dieser beim Kommentieren seinen Benutzernamen oder seine E-Mail nicht eingeben muss.

Wir können Simple SSO wie folgt konfigurieren:

Simple SSO
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "simpleSSO": {
8 "username": "Bob",
9 "email": "bob@example.com",
10 "avatar": "https://example.com/bob.png",
11 "websiteUrl": "https://example.com/profiles/bob",
12 "displayName": "Bob's Name",
13 "displayLabel": "VIP User",
14 "loginURL": "https://example.com/login",
15 "logoutURL": "https://example.com/logout",
16 "badgeConfig": {
17 "badgeIds": [
18 "badge-id-1",
19 "badge-id-2"
20 ],
21 "override": false
22 }
23 }
24}];
25</script>
26

Der Benutzer wird angemeldet und im Hintergrund als SSO-Benutzer erstellt. Der Benutzer hat createdFromSimpleSSO auf true gesetzt, wenn er von der API abgerufen wurde.

Notes:

  • E-Mail ist der eindeutige Bezeichner für Simple SSO.
  • Die Angabe einer E-Mail bei Simple SSO ist nicht erforderlich; standardmäßig werden ihre Kommentare jedoch als "Unverified" angezeigt. Wenn keine E-Mail angegeben wird, kann der Benutzer nicht vollständig authentifiziert werden.
  • NEU Seit Jan. 2022: Benutzernamen müssen nicht mehr für die gesamte fastcomments.com eindeutig sein
  • Simple SSO kann SSO-Benutzer automatisch erstellen und aktualisieren, wenn eine E-Mail angegeben ist und der Benutzer nicht ursprünglich über Secure SSO erstellt wurde.
  • Sie können Abzeichen für den Benutzer mit der Eigenschaft badgeConfig angeben. Das Array badgeIds enthält die IDs der Abzeichen, die dem Benutzer zugeordnet werden sollen. Wenn override auf true gesetzt ist, ersetzt es alle bestehenden Abzeichen, die in Kommentaren angezeigt werden; ist es false, werden die Abzeichen zu den vorhandenen hinzugefügt.

Benutzerdefinierte Integrationen – Migration von Disqus SSO Internal Link

Der größte Unterschied zwischen Disqus und FastComments Secure SSO ist, dass Disqus SHA1 zur Verschlüsselung verwendet, während wir SHA256 verwenden. Das bedeutet, dass die Migration von Disqus einfach ist - ändern Sie den verwendeten Hash-Algorithmus von SHA1 zu SHA256 und aktualisieren Sie die an die UI übergebenen Eigenschaftsnamen.

Benutzerdefinierte Integrationen – Migration von Commento SSO Internal Link

Commento verwendet einen drastisch anderen SSO-Ansatz - sie verlangen, dass Sie einen Endpunkt haben, den sie aufrufen, um den Benutzer zu authentifizieren.

FastComments ist genau andersherum - kodieren und hashen Sie einfach die Informationen des Benutzers mit Ihrem geheimen Schlüssel und geben Sie sie weiter.

Rückrufe Internal Link

Alle Bibliotheken für das Kommentar-Widget (derzeit Angular, React, Vue) unterstützen Callbacks.

Die Callbacks werden im Konfigurationsobjekt angegeben und haben für jede Bibliothek dieselbe Signatur.

Unterstützte Callbacks sind:

  • onInit
  • onAuthenticationChange
  • onRender
  • commentCountUpdated
  • onReplySuccess
  • onVoteSuccess
  • onImageClicked
  • onOpenProfile
  • onCommentSubmitStart
  • onCommentsRendered

Die genauen Signaturen finden Sie in den TypeScript-Definitionen.

Hier ein Beispiel mit allen verwendeten Callbacks:

Beispiele für Callbacks
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 window.FastCommentsUI(document.getElementById('fastcomments-widget'), {
6 tenantId: 'demo',
7 onInit: function () {
8 console.log('Library started to fetch comments!');
9 },
10 onAuthenticationChange: function (eventName, userObj) {
11 console.log('User authenticated!', eventName, userObj);
12 },
13 onRender: function () {
14 console.log('Render event happened!');
15 },
16 commentCountUpdated: function (newCount) {
17 console.log('New comment count:', newCount);
18 },
19 onReplySuccess: function (comment) {
20 console.log('New comment saved!', comment);
21 },
22 onVoteSuccess: function (comment, voteId, direction, status) {
23 console.log('New vote saved!', comment, voteId, direction, status);
24 },
25 onImageClicked: function (src) {
26 console.log('Image clicked!', src);
27 },
28 onOpenProfile: function (userId) {
29 console.log('User tried to open profile', userId);
30 // return true; // return true, um das Standardverhalten zu verhindern (Öffnen des fastcomments.com-Benutzerprofils).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // asynchrones Verhalten emulieren (Aufruf einer API usw.).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // comments ist nach der Standard-Sortierung auf der Seite geordnet, die z. B. 'Most Relevant' (z. B. am meisten hochgevotet usw.) oder 'Newest First' sein kann
44 const topCommentInList = comments[0];
45 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
46 }
47 });
48</script>
49

Seitentitel Internal Link

Der aktuelle Seitentitel wird mit der angegebenen urlId verknüpft und zur Verwendung in Moderationstools gespeichert.

Standardmäßig wird dieser aus document.title abgerufen.

Falls gewünscht, kann ein eigener Seitentitel folgendermaßen angegeben werden:

Specifying The Page Title
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "pageTitle": "Article 42"
8}];
9</script>
10

Die Kommentaranzahl & das Zählen aller verschachtelten Antworten Internal Link

Die im oberen Bereich des Kommentar-Widgets angezeigte Kommentaranzahl kann entweder alle "top-level" Kommentare anzeigen, das heißt jene Antworten, die Antworten direkt auf die Seite oder den Artikel selbst sind, oder es kann eine Zählung von allen verschachtelten Kommentaren sein.

Standardmäßig ist dies true - es ist eine Zählung von Letzterem - allen Kommentaren. In älteren Versionen des Kommentar-Widgets ist der Standardwert false.

Wir können das Verhalten ändern, sodass es eine Zählung von allen verschachtelten Kommentaren ist, indem wir das countAll Flag auf true setzen.

Counting All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": true
8}];
9</script>
10

Wenn wir möchten, dass die Zählung nur die Top-Level-Kommentare widerspiegelt, setzen wir das Flag auf false.

Counting Top Level Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": false
8}];
9</script>
10

Dies kann derzeit nicht ohne Codeänderungen angepasst werden.

Gruppen-IDs für Erwähnungen Internal Link

Eine Liste von ids, die für die Autovervollständigung von @mentions verwendet wird. Nützlich, wenn Sie verhindern wollen, dass Benutzer markiert werden, wenn sie keine gemeinsamen Gruppen haben.

Wenn angegeben, werden in der Autovervollständigung nach Eingabe des Zeichens @ nur Benutzer aus anderen Gruppen angezeigt.

Limit Groups for Mentions
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "mentionGroupIds": [
8 "yxZAhjzda",
9 "QT19nXbqB"
10 ]
11}];
12</script>
13