OneSpan Sign Developer: Benachrichtigung über Rückrufereignisse - Teil 2

Duo Liang, 17. April 2019
OneSpan Sign Developer: Callback Event Notification – Part 2

In diesem erster Teil In dieser Blogserie haben wir die möglichen Verwendungszwecke verschiedener Ereignisbenachrichtigungen und die empfohlenen Workflows überprüft, indem wir den Callback-Listener eingerichtet haben, wenn Sie Transaktionen, Unterzeichner oder andere Informationen abfragen müssen. 

In diesem Blog zeigen wir Ihnen den allgemeinen Prozess der Bearbeitung einer Rückrufanforderung und alle interessanten technischen Details zu Rückrufereignisbenachrichtigungen. Fangen wir ohne weiteres an!

Registrieren Sie sich für Ereignisbenachrichtigungen

Bevor OneSpan Sign Sie über ein Ereignis benachrichtigen kann, müssen Sie zuerst Ihre Rückruf-URL oder einen optionalen Rückrufschlüssel registrieren und angeben, welche Ereignisse benachrichtigt werden müssen. Sie können unseren folgen Rückrufbenachrichtigungen einrichten Anleitung zur programmgesteuerten Registrierung für Ereignisbenachrichtigungen oder einfach über das Webportal auf der Registerkarte Integration auf der Admin-Seite (siehe unten).4-17-1

Erstellen Sie einen Callback Listener

Jetzt können Sie einen Webhook-Listener erstellen! Das folgende Diagramm zeigt Ihnen alle erforderlichen Schritte zur Bearbeitung einer Post-Anfrage. Von dort erklären wir die technischen Details entsprechend. Dies ist ein allgemeiner Prozess, der auf jede Programmiersprache oder jedes Webframework angewendet werden kann, mit dem Sie gerade entwickeln.4-17-2

Callback Listener Punkt 1

Zunächst benötigen Sie eine öffentliche URL, damit OneSpan Sign aufrufen kann. Nur zu Testzwecken können Sie eine vorübergehende von erhalten Ngrok .
Wenn also ein Ereignis auftritt, z. B. wenn eine Transaktion abgeschlossen wurde, sendet OneSpan Sign eine HTTP-POST-Anforderung an die in diesem ersten Abschnitt registrierte URL. 

Callback Listener Punkt 2 & 3

Erinnern Sie sich an den Rückrufschlüssel, den Sie in der Registrierung festgelegt haben? Dieses geheime Token wird verwendet, um zu identifizieren, dass der POST-Aufruf tatsächlich von OneSpan Sign stammt. Auf diese Weise können Sie bestätigen, dass Sie keine gefälschten Anrufe erhalten.
Der von Ihnen registrierte Rückrufschlüssel wird als "Basic {callbackKey}" über den Authorization-Header übergeben.  
Sobald Sie überprüft haben, dass die Anfrage Ihr gemeinsames Geheimnis enthält, können Sie die Anfrage weiter bearbeiten.

Callback Listener Punkt 4

Ereignisinformationen werden am Anforderungshauptteil übergeben, der ein JSON-Objekt enthält, das den Typ und die mit diesem Ereignis verknüpften Daten enthält.
Im Folgenden finden Sie einige Beispiele für Rückrufnutzdaten:

Paket wurde erstellt
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" PACKAGE_CREATE "," sessionUser ":" 18EZDL44xgsX "," packageId ":" wVdZEaPD2igwUnFGJBjDD0dpO7k = "," document "," document " : null, "createdDate": "2018-06-30T20: 04: 55.384Z"}

Paket wurde gesendet
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" PACKAGE_ACTIVATE "," sessionUser ":" 18EZDL44xgsX "," packageId ":" 5n4obeO8jYoPp126Cm-Y3fxdfbo = "," message "," message ": documentId ": null," createdDate ":" 2018-06-30T20: 09: 50.425Z "}

Unterzeichner 1 akzeptiert Einverständniserklärung
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" DOCUMENT_SIGNED "," sessionUser ":" 44aafb7c-97b9-40e1-bb59-eb76c7d2a484 "," packageId ":" 5n4obep8jf = " , "message": null, "documentId": "default-Zustimmung", "createdDate": "2018-06-30T20: 10: 51.002Z"}

Unterzeichner 1 hat ein Dokument ausgefüllt
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" DOCUMENT_SIGNED "," sessionUser ":" 44aafb7c-97b9-40e1-bb59-eb76c7d2a484 "," packageId ":" 5n4obep8jf = " , "message": null, "documentId": "7caf46cdd75f7a411bf8c22793b84fa79d8d180becc40691", "createdDate": "2018-06-30T20: 12: 12.256Z"}

Unterzeichner 1 hat das Unterzeichnungspaket abgeschlossen
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" SIGNER_COMPLETE "," sessionUser ":" 44aafb7c-97b9-40e1-bb59-eb76c7d2a484 "," packageId ":" 5n4obef8 " , "message": null, "documentId": null, "createdDate": "2018-06-30T20: 12: 12.272Z"}

Paket war abgeschlossen
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" PACKAGE_COMPLETE "," sessionUser ":" e00696ec-d6f5-4feb-89c5-a5ce002a6c66 "," packageId ":" 5n4obeO8jfp = , "message": null, "documentId": null, "createdDate": "2018-06-30T20: 15: 01.038Z"}

Unterzeichner 1 abmelden:
{" @class ":" com.silanis.esl.packages.event.ESLProcessEvent "," name ":" PACKAGE_OPT_OUT "," sessionUser ":" b5381b13-991e-4179-9f9b-d4e1ec9d06bb "," packageId ":" J5tyDalz7 " Nachricht ":" Die persönlichen Daten sind nicht korrekt "," documentId ": null," createdDate ":" 2018-06-30T20: 16: 29.763Z "}

Zu beachten ist, dass der Hauptteil jedes Anrufs je nach Benachrichtigungsereignistyp variieren kann.

Callback Listener Punkt 5 & 6

Entsprechend dem Ereignisnamen können Sie die Aufgabe an Stub-Funktionen verteilen, um sie gemäß Ihrer Geschäftslogik zu verarbeiten. Dies wurde im ersten Teil dieser Blogserie empfohlen. Wenn Ihre Servicefunktion über einen komplexen Workflow verfügt und die Anforderung über einen längeren Zeitraum hinweg verwendet, ist es besser, eine asynchrone Methode zu verwenden, um Timeout-Fehler zu vermeiden. Für die aktuelle Implementierung betrug die Einstellung für das Rückrufzeitlimit 20 Sekunden und kann zwischen verschiedenen Instanzen variieren.

Geben Sie dann einen HTTP-Statuscode 200 an OneSpan Sign zurück, um anzuzeigen, dass Sie den Rückruf erfolgreich erhalten haben. 

Was ist, wenn ich eine Benachrichtigung verpasst habe?

Das Fehlen einer Benachrichtigung ist ein mögliches Risiko bei Verwendung des Ereignisbenachrichtigungsmechanismus. 

Wenn ein Rückruf fehlschlägt, wird eine E-Mail gesendet. Ab Version 11.21 wurde diese E-Mail verbessert, um den Grund für den Fehler anzugeben. Wenn beispielsweise eine Zeitüberschreitungsausnahme, ein Fehler "Ressource kann nicht gefunden werden" oder ein anderer Fehlercode vorliegt, können diese E-Mails zur Fehlerbehebung beitragen. 4-17-3

Darüber hinaus können Sie Ihre Ereignisse alle 6, 12 oder 24 Stunden als Backup aktiv abrufen, um die Verluste zu verringern, falls eine Benachrichtigung verpasst wurde.

Vor allem das notwendige technische Wissen, das Sie benötigen, um einen Callback-Listener einzurichten. In den nächsten Blogs werden wir einige Beispielprojekte in verschiedenen Sprachen und Frameworks anhand der hier genannten Schritte demonstrieren.

Wenn Sie Fragen zu diesem Blog oder zu anderen Aspekten der Integration von OneSpan Sign in Ihrer Anwendung haben, besuchen Sie die Entwickler-Community-Foren . Ihr Feedback ist uns wichtig!

OneSpan Sign-Entwickler-Community

OneSpan Sign-Entwickler-Community

Treten Sie der OneSpan Sign Developer Community bei! Foren, Blogs, Dokumentationen, SDK-Downloads und mehr.

Tritt heute bei