1

我正在玩 Smooch SDK。我的问题是关于 JWT 如何在 Smooch iOS 中工作?

目前我有 1 个应用程序,如果我想根据用户 id 使用 Smooch,(例如,1 个应用程序有 50 个用户与之聊天),我们需要生成 50 个 JWT 还是只生成 1 个 JWT?

    [Smooch login:self.smoochUserId jwt:@"WHAT IS THIS"];

谢谢

4

1 回答 1

1

基本上在旧版本中Smooch没有像用户不能从多个设备访问相同对话的功能。

即,如果一个用户登录一个设备,而当第二个用户登录同一设备时,则

  • 第二个用户可以看到第一个用户的聊天和
  • 如果第二个用户之前用另一台设备登录过,他就看不到他以前的聊天记录。

为了克服这个问题Smooch,引入了您上面提到的 JWT(JSON Web 令牌)的新方法。您可以在此处阅读更多相关信息。

do we need to generate 50 JWT or 1 JWT only?

您需要根据每个用户的 userId(来自您的数据库)为每个用户生成 JWT服务器端

如果您决定这样做,则需要使用登录的用户 ID 创建该 JWT 令牌并将该令牌分配给Smoochvia

[Smooch login:@"user-id" jwt:@"jwt" completionHandler:^(NSError * _Nullable error, NSDictionary * _Nullable userInfo) {
    // Your code after login is complete
}];

这有点难做到。还有另一种方法可以做到这一点。

从我提交的链接 1 中找到示例 node.js 代码并将其提供给您的后端服务器。并要求他们为每个用户创建,以便您可以使用用户模型获取该 JWT 令牌(您将在成功登录后获得)。直接添加到Smooch.

注意:如果您不关心用户现有的聊天详细信息,您可以使用Smooch而无需像这样添加 jwt 令牌

[Smooch initWithSettings:[SKTSettings settingsWithAppId:@"Your App token(Get it from Smooch dashboard)"] completionHandler:^(NSError * _Nullable error, NSDictionary * _Nullable userInfo) {}
[[SKTUser currentUser] addProperties:@{@"Company":[[NSUserDefaults standardUserDefaults] valueForKey:@"company"],@"UserId":[[NSUserDefaults standardUserDefaults] valueForKey:@"empid"]}];
[Smooch show];
于 2017-11-23T09:43:16.320 回答