我需要在zendesk聊天(对于代理)中显示用户名,我使用的是zendesk提供的代码:
window.zESettings = {
webWidget: {
authenticate: {
chat: {
jwtFn: function(callback) {
fetch('JWT_TOKEN_ENDPOINT').then(function(res) {
res.text().then(function(jwt) {
callback(jwt);
});
});
}
}
}
}
};jwt令牌是:
var payload = {
name: '#{customerName}',
email: '#{customerEmail}',
iat: #{timestamp},
external_id: '#{externalId}'
};
var token = jwt.sign(payload, '#{yourSecret}');代码不工作,我不会收到错误,但是用户名是不可见的。Zendesk文档没有提供任何有价值的信息,有没有人将Zendesk集成到他们的应用程序中?我做错了什么?任何帮助和建议都是非常感谢的。
发布于 2022-05-25 18:37:08
我遇到了一些类似的实现问题。在我的情况下,我使用相同的Javascript来验证chat webWidget。我在rails控制器(RoR)中定义了我的RoR,它使用ruby-jwt gem来生成令牌。
不过,在我的情况下,我的浏览器显示了错误消息:
Zendesk Chat Web SDK: Error: init: Failed to verify token: jwt verification error您是否看到任何浏览器控制台错误,以说明可能出现什么问题?
您有端点设置来生成JWT令牌吗?
您是否在jwt.sign(payload, "#{youSecret}")变量分配中传递有效的共享秘密?
发布于 2022-07-28 13:26:40
确保时间戳以秒为单位,没有浮点数。
使用iat: Math.round(Date.now() / 1000)
https://stackoverflow.com/questions/71581207
复制相似问题