javascript - Chatkit API 错误:需要身份验证
问题描述
我正在尝试通过 chatkit 中的 API 创建用户。
这是我创建经理的方式:
const chatManager = new ChatManager({
instanceLocator: instanceLocator,
userId: "Irmantas",
tokenProvider: tokenProvider
});
这是我生成 JWT 令牌的方式:
var oHeader = { alg: 'HS256', typ: 'JWT' };
var oPayload = {};
var tNow = token.KJUR.jws.IntDate.get('now');
var tEnd = token.KJUR.jws.IntDate.get('now + 1day');
oPayload.iss = "api_keys/9e0b93b8-23d6-4ec4-992f-2d7c561a2616:1xhmQyqlYrXa2AYfmrUJfijFJg4Df5cCtQT753fLtuk=";
oPayload.sub = "joh";
oPayload.iat = tNow;
oPayload.exp = tEnd;
oPayload.instance = "9d2504dc-ba0c-43b8-ab5b-70d5c16da851";
oPayload.su = true;
// Sign JWT, password=616161
var sHeader = JSON.stringify(oHeader);
var sPayload = JSON.stringify(oPayload);
var sJWT = token.KJUR.jws.JWS.sign("HS256", sHeader, sPayload, "616161");
但是,当我这样调用 API 时:
fetch('https://us1.pusherplatform.io/services/chatkit/v3/9d2504dc-ba0c-43b8-ab5b-70d5c16da851/users', {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization': "Bearer " + sJWT
},
body: JSON.stringify({ "name": "Joe", "id": "joe" })
}).then(console.log(sJWT));
我收到需要身份验证的错误。你能帮我找出错误吗?
解决方案
推荐阅读
- python - SQLAlchemy 批量更新查询失败并出现 AttributeError
- vba - 如果选择了特定选项按钮,如何指定组合框值的位置?
- c# - 为什么 SpaServices 似乎总是添加一个随机的不同端口?
- vba - 如何将颜色应用于 xlHairline
- r - R 和 ggplot 2:如何在 ggplot2 R 图中设置轴的分位数限制?
- heroku - 应用程序在本地环境中运行,但在 Heroku 上失败
- java - 使用 $filter 和 $slice 对数组子文档进行 Spring MongoTemplate 查询
- java - Tomcat内部有main方法吗?如果是,它如何解决与 Spring Boot 应用程序 *main* 的冲突?
- javascript - Sendkeys 在 Cucumber 中不起作用,甚至尝试使用 JS
- java - 我应该如何处理代码中的项目“类型”字符串,以便它们在应用程序中保持一致?