Hilfezentrum Kontakte & Administrator Kontakte SSO-Kontakte-Schnittstelle

SSO-Kontakte-Schnittstelle

Dieser Artikel erklärt, wie ein Kontakt mit einer E-Mail-Adresse oder einer Drittanbieter-Benutzer-ID angemeldet wird. Er verwendet dieselbe appId und denselben Secret Key wie die SSO-Schnittstelle für Unterkonten, aber die URL, die Signaturfelder und die Zielseite sind unterschiedlich. Erstellen Sie Unterkonten und legen Sie Rollen mit der SSO-Schnittstelle für Unterkonten fest.


Übersicht

Senden Sie die Kontakt-E-Mail oder die Drittanbieter-Benutzer-ID. SurveyMars prüft die Signatur und meldet diesen Kontakt an.

- Wenn der Kontakt ein Unterkonto ist, öffnet SurveyMars returnUrl. Wenn returnUrl weggelassen wird, wird die Umfrageliste geöffnet.

- Wenn der Kontakt kein Unterkonto ist, ignoriert SurveyMars returnUrl und öffnet die Kontakt-Startseite.


Anwendungsfälle

- Ihr System verfügt bereits über eine Kontakt-E-Mail oder eine Drittanbieter-Benutzer-ID, und Sie möchten SurveyMars ohne Passwort nutzen.

- Ein Kontakt eines Unterkontos gelangt zu returnUrl. Andere Kontakte überspringen returnUrl und landen auf der Kontakt-Startseite.


Bevor Sie beginnen

1. Melden Sie sich mit dem Hauptkonto an und kopieren Sie appId unter Mein Konto.

2. Bitten Sie den Support, den Secret Key zu aktivieren. Verwenden Sie den Schlüssel nur auf Ihrem Server. Geben Sie ihn nicht in die URL oder in Front-End-Code ein.

3. Erstellen Sie die SHA256-Signatur auf Ihrem Server und öffnen Sie dann den Login-Link mit GET.


Mein Konto


Anfrage

Methode: GET

URL: https://surveymars.com/app/login/contact/verify?appId=&email=&thirdUserId=&ts=&language=&returnUrl=&sign=


Parameter Erforderlich Beschreibung
appId Ja ID des Hauptkontos. Verwenden Sie dieselbe appId wie bei der SSO-Schnittstelle für Unterkonten.
email Bedingt Kontakt-E-Mail. Geben Sie entweder email oder thirdUserId oder beides an. email ist erforderlich, wenn das Hauptkonto keine leere Kontakt-E-Mail erlaubt.
thirdUserId Bedingt Benutzer-ID eines Drittanbieters. Geben Sie entweder email oder thirdUserId oder beides an. Wenn beides gesendet wird, verwendet die Verifizierung nur email. thirdUserId wird dennoch in die Signatur einbezogen.
language Nein Sprache der Hinweismeldungen. Sie wird nicht in die Signatur einbezogen.
returnUrl Nein Seite, die nach der Anmeldung eines Unterkontos geöffnet wird. SurveyMars folgt ihr für einen Kontakt eines Unterkontos und ignoriert sie sonst. Sie wird nicht in die Signatur einbezogen.
ts Ja Sekunden seit 1970-01-01 00:00:00 UTC. Sie bleibt 60 Sekunden lang gültig. Der ts in der URL muss mit dem ts übereinstimmen, das in der Signatur verwendet wird. Generieren Sie ihn, wenn der Benutzer den Link gleich öffnen wird.
sign Ja Signatur. sign ist der Kleinbuchstaben-Hexadezimalwert von SHA256 des verbundenen Klartexts: appId + email + thirdUserId + ts + Secret Key. Die Reihenfolge muss exakt übereinstimmen. Der Secret Key wird nur auf dem Server eingefügt und darf nicht in der Adresszeile des Browsers erscheinen. Siehe unten Signatur erstellen.


Signatur erstellen

Signaturregeln


1. Verknüpfen Sie die Signaturfelder in fester Reihenfolge ohne Trennzeichen: appId + email + thirdUserId + ts + Secret Key. Wenn email oder thirdUserId weggelassen wird, verwenden Sie an dieser Stelle eine leere Zeichenfolge. Lassen Sie das Feld nicht weg und ersetzen Sie es nicht durch einen Platzhalter. Der Secret Key wird nur auf dem Server eingefügt und darf nicht in der Adresszeile des Browsers erscheinen.


2. Hashen Sie diesen String mit SHA256 und verwenden Sie den Kleinbuchstaben-Hexadezimalwert als sign.


3. language und returnUrl werden nicht in die Signatur einbezogen. Verwenden Sie nur die Felder und die Reihenfolge aus Schritt 1.


4. ts ist die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC. Es bleibt für 60 Sekunden gültig. Generieren Sie ts und sign, wenn der Benutzer den Link gleich öffnen wird, und verwenden Sie denselben ts in der URL. Die URL-Codierung darf die in der Signatur verwendeten Originalwerte nicht verändern.


5. Um die verknüpfte Zeichenfolge zu prüfen, fügen Sie sie in ein SHA256-Tool wie LZL online SHA256 ein. In der Produktion generieren Sie sign auf Ihrem Server. Geben Sie den Secret Key nicht an den Browser preis.


6. Verwenden Sie keine SSO-Signatur für Unterkonten erneut. Diese Zeichenfolge verwendet appId, email, userName, roleId und ts. Diese Schnittstelle verwendet weder userName noch roleId.


Zum Beispiel:

http://surveymars.com/app/login/contact/verify?appId=TTeEB8&[email protected]&ts=1790760357&language=2&returnUrl=https://surveymars.com/app/usercenter&sign=26c0c7d9da5e38c61d4aeecb223336d7a259cad0b75c8ff912855421fd832a4e



E-Mail und Drittanbieter-Benutzer-ID

1. Senden Sie mindestens eine von email und thirdUserId.

2. Wenn Sie beides senden, verwendet die Verifizierung email und ignoriert thirdUserId. Behalten Sie die ursprüngliche thirdUserId in der Signatur bei, und Sie können sie in der URL beibehalten.

3. Wenn das Hauptkonto keine leere Kontakt-E-Mail erlaubt hat, ist email erforderlich.

4. Wenn diese Einstellung deaktiviert ist, wenden Sie sich an den Support, um "Leere Kontakt-E-Mail erlauben" zu aktivieren. Danach können Sie einen Kontakt ohne E-Mail hinzufügen.


Wohin der Kontakt gelangt

1. Kontakt eines Unterkontos: SurveyMars öffnet returnUrl. Wenn returnUrl weggelassen wird, wird die Umfrageliste geöffnet.

2. Andere Kontakte: SurveyMars ignoriert returnUrl und öffnet die Kontakt-Startseite.


Wichtige Hinweise

- Bewahren Sie den Secret Key auf Ihrem Server auf. Platzieren Sie ihn nicht in der Adresszeile des Browsers.

- Diese Schnittstelle meldet einen Kontakt an. Sie erstellt kein Unterkonto und legt keine Unterkonto-Rolle fest.

- Codieren Sie Zeichen wie @ in E-Mails per URL-Encoding. Signieren Sie den Originalwert, nicht den codierten Wert.


FAQs

Worin besteht der Unterschied zur SSO für Unterkonten?
Die SSO für Unterkonten verwendet /app/login/sso/verify, um ein Unterkonto zu erstellen oder anzumelden. Die Kontaktanmeldung verwendet /app/login/contact/verify mit einer E-Mail oder einer Drittanbieter-Benutzer-ID. Die Signaturfelder sind unterschiedlich. Verwenden Sie sign nicht erneut.


Kann ich nur thirdUserId senden?
Ja, wenn das Hauptkonto eine leere Kontakt-E-Mail erlaubt. Andernfalls ist email erforderlich. Verwenden Sie für das weggelassene Feld in der Signatur eine leere Zeichenfolge.


Ich habe sowohl email als auch thirdUserId gesendet. Warum wird für die Anmeldung email verwendet?
Wenn beide vorhanden sind, ignoriert die Verifizierung thirdUserId und gleicht den Kontakt per E-Mail ab. thirdUserId wird weiterhin in die Signatur einbezogen.


Warum hat ein Kontakt, der kein Unterkonto ist, returnUrl übersprungen?
returnUrl gilt nur, wenn der Kontakt ein Unterkonto ist. Andernfalls ignoriert SurveyMars sie und öffnet die Kontakt-Startseite.


Warum schlägt die Signaturprüfung fehl?
Prüfen Sie den Secret Key. Verknüpfen Sie appId, email, thirdUserId, ts und den Secret Key in genau dieser Reihenfolge. Verwenden Sie für ein weggelassenes email oder thirdUserId eine leere Zeichenfolge. Bestätigen Sie, dass ts noch innerhalb von 60 Sekunden liegt und dass das URL-Encoding die ursprünglichen Werte nicht verändert hat. Schließen Sie language oder returnUrl nicht ein.


Warum läuft ts so schnell ab?
In der Produktion muss ts innerhalb von 60 Sekunden zur Serverzeit liegen. Generieren Sie ts und sign, wenn der Benutzer den Link gleich öffnen wird.

Wie hilfreich war dieser Artikel?