2017-01-26 3 views
1

HTTP GET ist eine der Methoden, die open.epic für Single Sign-On anbietet. Die Dokumentation ist jedoch etwas vage und bietet keinen guten Schritt-für-Schritt-Prozess für die Entschlüsselung. Nach ihrer documentation (beachten Sie ein Login zu erstellen, um, um diesen Link zuzugreifen):Node.js Implementierung von Open.epic Single Sign-On mit HTTP GET?

Wir 128-Bit-AES verwenden, mit dem CBC-Modus Cipher und PKCS7 Polsterung (dies entspricht PKCS5 für unseren Gebrauch). Wir benutzen eine leere IV. Darüber hinaus verwenden wir den Schlüsselherleitungsalgorithmus von Microsoft wie beschrieben in the remarks section here.

Die Bemerkungen skizzieren dann einen Algorithmus, aber nichts wird durch ein Beispiel getan. Hat jemand das in node.js implementiert und könnte ein Codebeispiel geben?

Antwort

1

Dies dauerte ein paar Tage, aber ich kam schließlich mit einer node.js Implementierung. Ich benutze Knoten Version 4.7, mit es2015 Klassensyntax. Ich benutze die node-crypto Bibliothek und nur eine externe Bibliothek - bitwise-xor. Eine Sache, die sie Ihnen nicht sagen, ist der Hashalgorithmus, der von dem Microsoft-Ableitungsalgorithmus erforderlich ist. Ich habe mehrere versucht, bevor ich auf sha1 als richtigen Algorithmus landete.

Sie können meine Implementierung bei dieser Gist finden.

+0

könnten Sie zufällig ein Implementierungsbeispiel Ihres Handlers bereitstellen? – campatsky

+0

Entschuldigung, ich werde nicht als Knotenmodul oder irgendetwas in der unmittelbaren Zukunft veröffentlichen. Die letzten 3 Zeilen des Gist zeigen, wie man es benutzt. Sie konstruieren den Handler mit dem Geheimnis, das Sie epic zur Verfügung gestellt haben, und führen dann .decrypt() für den verschlüsselten Datenparameter aus, der von epic gesendet wurde. Sie können den Parameter über diesen Link generieren: https://open.epic.com/Launchpad/HttpGetSso (Sie müssen sich zuerst mit einem der aufgeführten Kontotypen anmelden). – efeder

Verwandte Themen