Die Authentifizierung ist der Vorgang, bei dem die Identität eines Nutzers bestätigt wird. Sie gewährleistet, dass Inhalte auf Ihrer Website nur von zulässigen Benutzern generiert werden. Mithilfe der Authentifizierung kann Bazaarvoice die E-Mail-Adresse eines Nutzers bestätigen und sie mit einem Profil im Bazaarvoice-Netzwerk verlinken. (Die Authentifizierung trägt nicht zur Aufdeckung von Betrug bei, das ist Aufgabe der Authentizität.)

Hinweis: Gehostete Authentifizierung ist die empfohlene Authentifizierungsmethode. Die Webseite-Authentifizierung senkt die Menge der Benutzereinreichungen erheblich. Darüber hinaus muss Ihr technisches Team zusätzliche Integrationsschritte durchführen, um Ratings & Reviews mit dem Anmeldeprozess Ihrer Webseite zu verknüpfen. Verwenden Sie die Webseite-Authentifizierung nur dann, wenn es aus rechtlichen oder geschäftlichen Gründen notwendig ist, dass Ihre Kunden sich bei Ratings & Reviews anmelden.

Bei der Webseite-Authentifizierung müssen sich die Benutzer über das Authentifizierungssystem Ihrer Webseite anmelden. Bevor Benutzer Produktbewertungen, Fragen oder Antworten einreichen können, müssen sie sich mit denselben Anmeldedaten anmelden, die sie für den Zugang zu Ihrer Webseite verwenden. Verwenden Sie diese Methode nur, wenn es aus rechtlichen oder geschäftlichen Gründen notwendig ist, dass Ihre Kunden sich bei Ratings & Reviews anmelden.

Dies ist der Workflow für die gehostete Authentifizierung und die Website-Authentifizierung:

Gehostete Authentifizierung Authentifizierung auf der Website

Integration mit Ratings & Reviews

Um die Integration mit Ratings & Reviews erfolgreich durchzuführen und eine Website-Authentifizierung anzufordern, müssen Sie diese Aufgaben ausführen.

Schritt 1: Website-Authentifizierung aktivieren und konfigurieren

Führen Sie die folgenden Schritte aus, um die Website-Authentifizierung in Ratings & Reviews einzurichten:

  1. Melden Sie sich im Bazaarvoice-Portal an.
  2. Wählen Sie im Portal-Menü Configuration (Konfiguration) aus.
  3. Wählen Sie die Instanz und dann Go to Configuration (Zur Konfiguration gehen). Der Site-Manager wird angezeigt und listet die verfügbaren Implementierungszonen und Implementierungen auf.
  4. Klicken Sie im Abschnitt Implementations (Implementierungen) neben der Implementierung, die Sie konfigurieren möchten, auf Edit (Bearbeiten).
  5. Klicken Sie im Bereich Einstellungen des Konfigurations-Hubs auf User authentication (Benutzer-Authentifizierung).
  6. Oben auf der Seite Benutzer-Authentifizierung klicken Sie auf den Tab Site Authentication Integration (Website-Authentifizierung integrieren) und rufen so die Seite für die Integration der Website-Authentifizierung auf.
  7. Aktivieren Sie die Option Website-Authentifizierung verlangen.
  8. Legen Sie fest, ob Sie die Option Spitzname einsetzen aktivieren wollen. Lesen Sie das Thema Daten über Webseiten-Authentifizierung einsetzen für nähere Informationen zum Einsetzen des Spitznamens.
  9. Verwenden Sie die Option E-Mail-Adresse bei Eingabe angeben und legen Sie fest, ob eine E-Mail-Adresse erforderlich, optional oder nicht erforderlich ist, wenn der Benutzer Bewertungen, Kommentare, Fragen oder Antworten einreicht:
    • Erforderlich – Eine E-Mail-Adresse muss vor dem Absenden eingegeben werden. Dies ist die voreingestellte Option.
    • Optional – Die Eingabe einer E-Mail-Adresse für die Einsendung ist optional
    • Nicht erforderlich – Die E-Mail-Adresse wird in den Eingabeformularen nicht abgefragt.
  10. Geben Sie eine Webadresse (URL) für die Anmelde-URL der Staging-Seite an. Testbenutzer auf Ihrer Staging-Website werden umgeleitet, damit sie sich vor dem Verfassen von Inhalten hier anmelden.
  11. Geben Sie eine Webadresse (URL) für die Anmelde-URL der Produktionsseite an. Benutzer auf Ihrer Produktions-Website werden umgeleitet, damit sie sich vor dem Verfassen von Inhalten hier anmelden.

Schritt 2: Hosten Sie eine Container-Seite und verweisen Sie auf deren URL aus Ratings & Reviews

Die Container-Seite ermöglicht Weiterleitungen zur Website-Authentifizierung

Erstellen Sie die Container-Seite auf derselben Domain, in die Ratings & Reviews integriert ist. Dies ist meistens die Domain, welche für Ihre Produktseiten zuständig ist. Wenn Ihre Implementierung bv.js verwendet, sollte sie folgende Inhalte enthalten:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title> <meta name="robots" content="noindex, nofollow"> <link rel="canonical" href="container.htm"/> <meta name="bv:pageType" content="container"> </head> <body> <script async src="https://apps.bazaarvoice.com/deployments/<client_name>/<site_ID>/<environment>/<locale>/bv.js"></script> </body> </html>

Hinweis: Wenn Sie über eine existierende Implementierung verfügen, die die Scout-Datei (bvapi.js) verwendet, sollte Ihr HTML-Dokument ungefähr so aussehen:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title> <meta name="robots" content="noindex, nofollow"> <link rel="canonical" href="container.htm"/> </head> <body> <script type="text/javascript" src="https://display.ugc.bazaarvoice.com/bvstaging/static/<client_name>/<site_ID>/<locale>/bvapi.js"></script> <script> $BV.container('global', {} ); </script> </body> </html>

Ersetzen Sie container.htm durch den relativen Pfad zur Canonical URL dieser Seite und ersetzen Sie <client_name>, <site_ID>, <environment> und <locale> durch Ihre eigenen Werte.

Hinweis: Eine Canonical URL enthält Metadaten zur Seite. Die Metadaten leiten Suchmaschinen zur offiziellen Adresse der Webseite. Wenn Sie zum Beispiel nicht wollen, dass Suchmaschinen https://url.com?page=1 und https://url.com?page=2 als unterschiedliche Seiten behandeln, verwenden Sie <link rel="canonical" href="https://url.com"> und weisen Sie damit die Suchmaschinen an, beide URLs auf https://url.com zu leiten.

Nach dem Erstellen der Container-Seite müssen Sie deren URL in Ratings & Reviews eingeben. Befolgen Sie dazu folgende Schritte:

  1. Gehen Sie im Konfigurations-Hub auf Technische Einrichtung > Websiteprofil.
  2. Geben Sie die URL der Container-Seite in die Container-URL ein.
  3. Gehen Sie im Konfigurations-Hub auf Einstellungen > Benutzer-Authentifizierung.
  4. Klicken Sie auf den Tab Website-Authentifizierung integrieren.
  5. Geben Sie unter URL Staging-Site-Login die Login-URL ein.
  6. Geben Sie unter URL Produktions-Site-Login die Login-URL der Produktions-Website ein.

Schritt 3: Eine Benutzer-Authentifizierungskette (UAS) generieren

Eine Benutzer-Authentifizierungskette (UAS) besteht aus Schlüssel- oder Wert-Paaren, denen ein Hash-Wert zugeordnet wurde und die kodiert (aber nicht verschlüsselt) sind. Anhand dieser Kette kann Bazaarvoice verifizieren, dass die Quelle vertrauenswürdig ist. Dadurch wird verhindert, dass Dritte andere Benutzer erfinden oder sich als existierende Benutzer ausgeben. Sie können UAS beispielsweise für die Dateneinspeisung in ein Bewertungs-Eingabeformular verwenden, falls Ihre Implementierung die Website-Authentifizierung verwendet.

Hinweis: Eine UAS muss serverseitig erstellt werden, um die Geheimhaltung des gemeinsamen Schlüssels zu wahren.

Befolgen Sie diese Schritte, um eine UAS zu erstellen, die für die Dateneinspeisung verwendet werden kann:

  1. Bestimmen Sie die in die UAS einzubeziehenden Schlüssel/Wert-Paare, die in der Kette durch Et-Zeichen (&) begrenzt sein müssen. Die folgenden Schlüssel werden unterstützt:
    Schlüssel Beschreibung Erforderlich
    date Das heutige Datum im Format YYYYMMTT oder YYYY-MM-TT. Ja
    userid

    Benutzer-ID des Verbrauchers. Verwenden Sie für diesen Wert keine E-Mail-Adresse.

    Ja
    maxage Anzahl von Tagen bis zum Ablaufen der UAS. Voreingestellt ist 1 Tag. Eine Erhöhung dieses Werts ist bei vorab authentifizierten URLs wie zum Beispiel solchen nützlich, die bei E-Mail-Kampagnen verwendet werden. Nein
    Verifizierter Käufer Ob der Benutzer nachweislich ein oder mehrere Produkte gekauft hat (True). Lassen Sie diesen Parameter aus oder setzen sie ihn auf False, falls der Benutzer kein verifizierter Käufer ist. Nein
    subjectids Eine Liste von External IDs von Produkten, die der Benutzer nachweislich gekauft hat, womit sichergestellt wird, dass der Schlüssel VerifiedPurchaser nicht auf andere Produkte angewendet werden kann. Falls Sie mehrere IDs angeben, verwenden Sie bitte den Schrägstrich (/) als Trennzeichen. Nein
    Age Altersspanne ohne Leerzeichen. Zum Beispiel: 35bis44 oder 65oderÄlter. Nein
    Gender Das Geschlecht des Benutzers (Männlich oder Weiblich). Nein
    emailaddress E-Mail-Adresse des Verfassers. Dieser Wert muss mit einer URL kodiert werden. Ja
    IncentivizedReview Ob der Verfasser kostenlos ein Produkt oder eine Dienstleistung zur Bewertung erhalten hat (True). Lassen Sie diesen Parameter aus oder setzen sie ihn auf False, falls der Benutzer kein Produkt beziehungsweise keine Dienstleistung kostenlos erhalten hat. Nein
    OrderNumber Die Bestell-ID des durch den Verfasser getätigten Einkaufs. Nein
    username Benutzername des Verfassers. Nein
    affiliation Fügt automatisch die standardmäßige Mitarbeiter-Partner-Badge () zu Einreichungen, die diese URL verwenden, hinzu. Diese Badge gibt an, dass der Verfasser der Bewertung bei Ihrem Unternehmen angestellt ist. Hier erfahren Sie mehr über Badges. Benutzen Sie diesen Parameter für staff (Mitarbeiter). Nein
  2. Falls ein Schlüssel/Wert-Paar ein reserviertes Zeichen enthält, müssen Sie dieses Zeichen in Prozentdarstellung schreiben (URL-Kodierung ).

    Beispielsweise muss die Kette Andreas'Leiter als Andreas%27Leiter kodiert werden.

Schritt 4: Die UAS kodieren

Ordnen Sie der UAS und Ihrem gemeinsamen Bazaarvoice-Kodierungsschlüssel einen Hash-Wert zu und kodieren Sie sie, um ein UAS-Token zu generieren:

  1. Ihren gemeinsamen Kodierungsschlüssel finden Sie im Konfigurations-Hub. Klicken Sie dort auf Technical Setup (Technische Einrichtung) » Site Profile (Websiteprofil). Kopieren Sie den Wert, den Sie unter Basic Information (Basisinformationen) im Feld Shared Encoding Key (Gemeinsamer Kodierungsschlüssel) finden.
  2. Erstellen Sie eine URL-kodierte Abfragekette, die Pflicht- und optionale Parameter enthält, so wie in diesem Beispiel:

    date=20230915&userid=shopper123&maxage=30&verifiedpurchaser=True&subjectids=product1/product2/product3
  3. Erstellen Sie eine Signatur, indem Sie die URL-kodierte Parameterkette mittels des Kodierungsschlüssels mit einem Hash-Wert versehen.
  4. Wandeln Sie die URL-kodierte Parameterkette in eine hexadezimale Darstellung um.
  5. Verknüpfen Sie die Signatur und die Parameterketten.

Das folgende Beispiel ist ein serverseitiges Pseudo-Code-Beispiel:

function makeUserToken(encodingKey, parameters) { // encode the signature using HMAC SHA-256 signature = hash_hmac('sha256' , parameters, encodingKey) // concatenate the signature and hex-encoded string of parameters uas = signature + hex(parameters) // return the user authentication string return uas } ENCODING_KEY = 'abcd1234' // BV shared key from config hub requiredParameters = 'date=20161225&userid=valuedCustomer' extraParameters = 'maxage=90&verifiedpurchaser=True' allParameters = requiredParameters + '&' + extraParameters userAuthString = makeUserTokenHmac(ENCODING_KEY, allParameters)
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Hex; import java.nio.charset.StandardCharsets; public String makeUserTokenHmac(String encodingKey, String parameters) { Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKeySpec(encodingKey.getBytes(), "HmacSHA256"); sha256_HMAC.init(secret_key); String hash = Hex.encodeHexString(sha256_HMAC.doFinal(parameters.getBytes())); String hexParameters = Hex.encodeHexString(parameters.getBytes(StandardCharsets.UTF_8)); return hash + hexParameters; }
var crypto = require('crypto');
 
function makeUserTokenHmac(encodingKey, parameters) {
  let hmac  = crypto.createHmac('sha256', encodingKey).update(parameters);
  let signature = hmac.digest('hex');
 
  let hexParameters = parameters.split('')
                                .map(c => c.charCodeAt(0).toString(16))
                                .join('');

  return signature + hexParameters;
}
require 'openssl'
 
def makeUserTokenHmac(encodingKey, parameters)
  hash = OpenSSL::HMAC.digest('sha256', encodingKey, parameters)
  signature = hash.unpack('H*').first
 
  hexParameters = parameters.unpack('H*').first
 
  return "#{signature}#{hexParameters}"
end
<?php
function makeUserTokenHmac($encodingKey, $parameters) {
  // encode the signature using HMAC SHA-256
  $signature = hash_hmac('sha256' , $parameters, $encodingKey);
 
  // concatenate the signature and hex-encoded string of parameters
  $uas = $signature . bin2hex($parameters);
 
  // return the user authentication string
  return $uas;
}
?>
using System; using System.IO; using System.Text; using System.Security.Cryptography; namespace uasC { class Program { static void Main(string[] args) { const string SharedKey = "SHAREDKEYGOESHERE"; string userId = "date=20190708&userid=9100040964&maxage=30"; using(HMACSHA256 hmac = new HMACSHA256(Encoding.UTF8.GetBytes(SharedKey))) { string userIdSignature = BytesToHexString(hmac.ComputeHash(Encoding.UTF8.GetBytes(userId))); string hexUserId = BytesToHexString(Encoding.UTF8.GetBytes(userId)); Console.WriteLine(userIdSignature + hexUserId); } string BytesToHexString(byte[] input) { StringBuilder sb = new StringBuilder(64); for (int i = 0; i < input.Length; i++) { sb.Append($ "{input[i] :X2}"); } return sb.ToString(); } } } }

Schritt 5: Einen UAS-Token bereitstellen

Wenn Sie BV-Lader (bv.js) verwenden, legen Sie den Integrationscode so fest, dass er das generierte UAS-Token in ein Meta-Element im Überschriftelement der Seite einbezieht. Fügen Sie dieses Token auf allen Seiten mit Ratings & Reviews-Integrationscode ein, wie auf Ihren Produktseiten. Diese Eigenschaft sollte bereitgestellt werden, wenn Benutzer bei Ihrem Webseiten-Authentifizierungssystem angemeldet sind, um Bazaarvoice zu signalisieren, dass der Benutzer angemeldet ist.

Zum Beispiel:

<head> ... <meta name="bv:userToken" content="17743067190f0343f24f7" > ... </head>

Platzieren Sie meta-Tags (wie userToken) immer vor dem Script-Tag des BV-Laders (bv.js). Wird der BV-Lader geladen, wird ihm nur angezeigt, was zu dem Zeitpunkt im DOM sichtbar ist. Wird ein meta-Tag nach dem BV-Lader platziert, ist es dem BV-Lader zum Ladezeitpunkt nicht sichtbar. Wird es vor dem BV-Lader platziert, ist es sichtbar.

Für Benutzer, die nicht in Ihrem Authentifizierungssystem angemeldet sind, belassen Sie die Eigenschaft userToken leer (oder lassen Sie sie aus dem Integrierungscode heraus).

Hinweis: Wenn Sie über eine existierende Implementierung verfügen, die die Scout-Datei (bvapi.js) verwendet, gestalten Sie den Programmcode für die Integration so, dass das generierte UAS-Token stattdessen in der Funktion $BV.configure() enthalten ist.

Zum Beispiel:

$BV.configure('global', {
  productId: 'test1',
  userToken: '17743067190f0343f24f75df730dfe58646174653d323031332d30352d3031267573657269643d7465737475736572313233'
});

Schritt 6: Benutzer zur Container-Seite weiterleiten

Wenn Sie vorhaben, Links an Benutzer zu senden, und sicherstellen möchten, dass sie angemeldet bleiben, können Sie den Abfrageparameter bveventid einfügen, um sicherzustellen, dass die Anmeldeseiten (im Konfigurations-Hub festgelegt) Benutzer zu Ihrer gehosteten Ratings & Reviews-Container-Seite weiterleiten. Der Parameter bveventid zeigt an, dass der Benutzer versuchte, eine Bewertung zu schreiben, bevor er zur Anmeldung weitergeleitet wurde. Das Weiterleiten muss beinhalten:

  • den Parameter bveventid mit seinem kompletten, unveränderten Wert. Zum Beispiel:
    bveventid=1234asfr
  • das UAS-Token, zum Beispiel:
    bvuserToken=17743067190f0343f24f75df730dfe58646174653d323031332d30352d3031267573657269643d7465737475736572313233

Die URL sollte ungefähr so aussehen:

https://www.example.com/container.htm?bveventid=123asfr&bvuserToken=17743067190f0343f24f75df730dfe58646174653d323031332d30352d3031267573657269643d7465737475736572313233

Testen Sie die Authentifizierungsintegration Ihrer Webseite

Befolgen Sie die folgenden Schritte, um Ihre Integration und Fehler gegebenenfalls zu beheben.

  1. Gehen Sie zu Ihrer Seite Ratings & Reviews und klicken Sie auf den Link „Write a Review ( Bewertung verfassen)“. Sie sollten nun zu Ihrer Login-Seite weitergeleitet werden und in der URL sollte bveventid enthalten sein. Werden Sie nicht weitergeleitet, ist die Website-Authentifizierung nicht aktiviert. Kontaktieren Sie Bazaarvoice für weitere Unterstützung.
  2. Verifizieren Sie nach erfolgreicher Anmeldung, dass Sie zur Container-Seite weitergeleitet werden und dass die Token bveventid und UAS in der URL der Container-Seite vorhanden sind. Sind sie nicht vorhanden, prüfen Sie eventuell das Token bveventid nicht korrekt und sollten sicherstellen, dass Sie die Integrierungsschritte genau befolgt haben.
  3. Stellen Sie sicher, dass Sie dann auf die Produktseite weitergeleitet werden (auf welcher Sie „Write a Review (Bewertung verfassen)“ ausgewählt haben), und dass das Eingabeformular vorhanden ist. (Überprüfen Sie, ob bveventid vorhanden ist und mit dem in Schritt 1 verifizierten Token übereinstimmt.) Stellen Sie zudem sicher, dass das UAS-Token vorhanden und gültig ist.

Bei der Website-Authentifizierung müssen sich die Benutzer über das Authentifizierungssystem Ihrer Webseite anmelden. Bevor Benutzer Produktbewertungen, Fragen oder Antworten einsenden können, müssen sie sich mit denselben Anmeldedaten anmelden, die sie beim Zugang zu Ihrer Webseite verwendet haben. Verwenden Sie diese Methode nur, wenn es aus rechtlichen oder geschäftlichen Gründen notwendig ist, dass sich Ihre Kunden bei Ratings & Reviews anmelden müssen.

Unter Benutzer-Authentifikation finden Sie einen Überblick der Website- und gehosteten Authentifizierung mitsamt der jeweiligen Workflows.

  1. Klicken Sie im Konfigurations-Hub unter „Einstellungen“ auf User authentication (Benutzer-Authentifizierung) und nehmen Sie dann folgende Aktionen vor:
    1. Klicken Sie auf den Tab Website-Authentifizierung integrieren.
    2. Aktivieren Sie die Option Website-Authentifizierung verlangen.
    3. Aktivieren Sie die Option Spitznamen-Daten einfügen (optional).
    4. Stellen Sie Bei Einreichung E-Mail-Adresse angeben auf Erforderlich (optional).
    5. Geben Sie eine Webadresse (URL) für die Anmelde-URL der Staging-Seite an. Testbenutzer auf Ihrer Staging-Seite werden umgeleitet, damit sie sich vor dem Verfassen von Bewertungen hier anmelden.
    6. Geben Sie eine Webadresse (URL) für die Anmelde-URL der Produktionsseite an. Benutzer auf Ihrer Produktionsseite werden umgeleitet, damit sie sich vor dem Verfassen von Bewertungen hier anmelden.
  2. Klicken Sie auf Technical Setup (Technische Einrichtung) und kopieren Sie anschließend den Schlüssel für freigegebene Verschlüsselung.
  3. Generieren Sie eine Benutzer-Authentifizierungskette (UAS).
  4. Fügen Sie dieses UAS-Token im Integrationscode auf Ihren Produktdetailseiten ein.
  5. Vergewissern Sie sich, dass die Anmeldeseite auf die Container-Seite weiterleitet, wenn der Abfrageparameter bveventid vorhanden ist.

Sehen Sie sich bei Bedarf diese Code-Beispiele an.