如何为Sinch创建Web用户身份验证令牌?

时间:2017-04-12 18:03:23

标签: javascript php sinch

我想创建一个authTicket以便与Sinch Web SDK一起使用,如文档(Authentication by your backend)中所述。

对于执行此操作所需的服务器端代码,Sinch至少提供了两个示例:

第一步是JSON编码。但是,如果我分别在JavaScript或PHP中运行它,我会得到不同的结果:

JavaScript JSON.stringify(userTicket)

{
  "applicationKey":"XXXXXXXXXXXXXXXX",
  "identity":{"type":"username","endpoint":"johndoe"},
  "created":"2017-04-12T12:34:56.789Z",
  "expiresIn":86400
}

PHP json_encode($userTicket)

{
  "identity":{"type":"username","endpoint":"johndoe"},
  "expiresIn":86400,
  "applicationKey":"XXXXXXXXXXXXXXXX",
  "created":"2017-04-12T12:34:56.789Z"
}`

(请忽略空格,这与StackOverflow格式有关。我问的是键的顺序。)

后来,这个输出应该进入哈希函数。由于两个JSON字符串都具有不同顺序的键,因此两个输入都不会产生相同的散列输出。

计算authTicket的正确算法是什么,特别是在涉及JSON编码部分时?

0 个答案:

没有答案