为 Sinch Android 和 IOS 客户端创建身份验证票证 (Nodejs)
Create authentication ticket for Sinch Android And IOS client (Nodejs)
我在使用 Nodejs 为 Android 和 IOS 客户端创建 Sinch 身份验证票时遇到问题。我尝试了 sinch-ticketgen NPM 模块,但它只为 java 脚本生成票证,我们不能将此票证用于 Android 和 IOS 客户端。
以下是我用于生成票证的代码片段,但它不起作用,
const crypto = require('crypto');
const shasum = crypto.createHash('sha1');
const key = '0b25bb2d-f5dd-4337-9f99-a318196f886a';
const secret = 'm1aur2Q4FUWWNuMlKq3KKg==';
const userId = 'sanket';
const sequence = 0;
const stringToSign = userId + key + sequence + secret;
shasum.update(stringToSign);
const singnature = shasum.digest('utf8'); //utf8
console.log('Signature ', singnature.toString('base64'));
const token = singnature.toString('base64').trim();
console.log(token);
票据生成的伪代码在 https://www.sinch.com/docs/voice/ios/#applicationauthentication
中给出
我尝试了 java 示例,它工作正常,但没有找到我在 Nodejs 票证创建中出错的地方。
以下是它的有效 Nodejs 代码段。
const crypto = require('crypto');
const shasum = crypto.createHash('sha1');
const key = '0b25bb2d-f5dd-4337-9f99-a318196f886a';
const secret = 'm1aur2Q4FUWWNuMlKq3KKg==';
const userId = 'sanket';
const sequence = 0;
const stringToSign = userId + key + sequence + secret;
shasum.update(stringToSign);
const singnature = shasum.digest();
console.log('Signature ', singnature.toString('base64'));
const token = singnature.toString('base64').trim();
console.log(token);
我在使用 Nodejs 为 Android 和 IOS 客户端创建 Sinch 身份验证票时遇到问题。我尝试了 sinch-ticketgen NPM 模块,但它只为 java 脚本生成票证,我们不能将此票证用于 Android 和 IOS 客户端。
以下是我用于生成票证的代码片段,但它不起作用,
const crypto = require('crypto');
const shasum = crypto.createHash('sha1');
const key = '0b25bb2d-f5dd-4337-9f99-a318196f886a';
const secret = 'm1aur2Q4FUWWNuMlKq3KKg==';
const userId = 'sanket';
const sequence = 0;
const stringToSign = userId + key + sequence + secret;
shasum.update(stringToSign);
const singnature = shasum.digest('utf8'); //utf8
console.log('Signature ', singnature.toString('base64'));
const token = singnature.toString('base64').trim();
console.log(token);
票据生成的伪代码在 https://www.sinch.com/docs/voice/ios/#applicationauthentication
中给出我尝试了 java 示例,它工作正常,但没有找到我在 Nodejs 票证创建中出错的地方。
以下是它的有效 Nodejs 代码段。
const crypto = require('crypto');
const shasum = crypto.createHash('sha1');
const key = '0b25bb2d-f5dd-4337-9f99-a318196f886a';
const secret = 'm1aur2Q4FUWWNuMlKq3KKg==';
const userId = 'sanket';
const sequence = 0;
const stringToSign = userId + key + sequence + secret;
shasum.update(stringToSign);
const singnature = shasum.digest();
console.log('Signature ', singnature.toString('base64'));
const token = singnature.toString('base64').trim();
console.log(token);