Node.js使用HTTP GET实现open.epic单点login?

HTTP GET是open.epic为单点login提供的方法之一。 但是,文档有点模糊,并没有给出一个解密的好的分步过程。 根据他们的文档 (注意你必须创build一个login才能访问此链接):

我们使用128位AES,CBC密码模式和PKCS7填充(这相当于我们使用的PKCS5)。 我们使用一个空的IV。 另外,我们使用微软的密钥派生algorithm,如此处的注释部分所述 。

然后,评论概述了一个algorithm,但是没有任何例子。 有没有人在node.js中实现了这一点,并可以给出一个代码示例?

这花了我几天,但我最终想出了一个node.js实现。 我正在使用节点版本4.7,使用es2015类语法。 我使用node-crypto库和只有一个外部库 – bitwise-xor 。 此外,他们没有告诉你的一件事是微软派生algorithm所需的哈希algorithm。 我尝试了几个在sha1上着陆的正确algorithm。

你可以在这个Gist上find我的实现。