我正在玩Smooch SDK。我的问题是JWT如何在Smooch iOS中工作?
目前我有1个应用程序,并且如果我想基于用户ID使用Smooch(例如1个应用程序有50个用户与其聊天),我们是否需要仅生成50个JWT或1个JWT?
[Smooch login:self.smoochUserId jwt:@"WHAT IS THIS"];
谢谢
最佳答案
基本上,在较旧的Smooch
版本中,没有像用户无法从多个设备访问相同对话的功能。
即,如果一个用户登录了一个设备,而第二个用户登录了同一设备,则
为了克服这个问题,
Smooch
引入了您上面在JWT(JSON Web token )中提到的新方法。您可以阅读有关Here的更多信息。do we need to generate 50 JWT or 1 JWT only?
您需要根据每个用户的userId(从数据库中)生成JWT server side。
如果决定这样做,则需要使用登录的用户ID创建该JWT token ,然后通过以下方式将该 token 分配给
Smooch
[Smooch login:@"user-id" jwt:@"jwt" completionHandler:^(NSError * _Nullable error, NSDictionary * _Nullable userInfo) {
// Your code after login is complete
}];
这很难做到。还有另一种方法。
从我提交的link1中找到示例node.js代码,并将其提供给您的后端服务器。并要求他们为每个用户创建,以便您可以通过用户模型获得该JWT token (成功登录后将获得此 token )。
将其直接添加到
Smooch
。注意:如果您不关心用户现有的聊天详细信息,则可以使用
Smooch
而不添加这样的jwt token [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];
关于ios - JWT如何在Smooch iOS中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47451547/