首页 文章

无法将用户ID登录到Web Messenger(无效范围)

提问于
浏览
0

我们在Smooch初始化会话时遇到问题 . 我们已经使用帐户级别范围成功创建了一个JWT令牌,并且我们已经使用API创建了一个用户(mycatalyst_test) . 当我们使用API时,我们能够正确地访问和查询用户,创建消息等 .

但是,当我们尝试初始化Smooch Web Messenger并将用户登录到:

Smooch.init({
appId: 'XXX',
userId: 'mycatalyst_test',
jwt: 'XXX',
embedded: true
});

我们收到错误消息:

{"error":{"code":"forbidden","description":"Invalid scope"}}

我们检查了文档,但在Web Messenger文档中找不到对Invalid scope error或Forbidden code的任何引用,我们能够使用相同的JWT键成功通过API访问信息,所以我们我不完全确定会出现什么问题 .

我们尝试使用App范围而不是Account范围来生成新的JWT密钥,但这也不起作用 . 我们尝试使用Smooch ID而不是用户ID,但这也不起作用 .

我们在这里有一个松散的结局,所以会感激任何指针! (我们可能做了一些愚蠢而明显的事情!) .

1 回答

  • 0

    请参阅authenticating users的文档 . 在向 login API提供JWT时,您必须使用 appUser 范围,否则您将向您的用户分发JWT,以便访问您的整个帐户/应用程序!

    jwt.sign({
        scope: 'appUser',
        userId: userId
    },
    SECRET,
    {
        header: {
            alg: 'HS256',
            typ: 'JWT',
            kid: KEY_ID
        }
    });
    

    REST API文档的authorization部分中也有此注释:

    使用其中一个Smooch原生SDK集成时,还可以使用额外的appUser范围对用户进行身份验证 . 有关如何以及何时使用此范围的信息,请参阅用户身份验证指南 .

相关问题