我正在使用iOS应用程序,我需要集成ZenDesk SDK。我已经设置了AppId,zendeskurl,clientId。
[[ZDKConfig instance] initializeWithAppId:@"xxxxxxx"
zendeskUrl:@"https://xxxxx"
andClientId:@"xxxxxx"];
[ZDCChat configure:^(ZDCConfig *defaults) {
defaults.accountKey = @"xxxxx";
defaults.preChatDataRequirements.department = xxxx;
defaults.preChatDataRequirements.message = xxxx;
}];
当我将身份验证方法设置为匿名时,其工作正常。
[ZDKConfig instance].userIdentity = [[ZDKJwtIdentity alloc]
initWithJwtUserIdentifier:@"xxx@gmail.com"];
但是当我将JWT设置为身份验证方法时。它不起作用。
答案 0 :(得分:1)
Kirti,我知道这有点老了,但我刚刚完成了这个设置,最后让它运转起来,希望它可以帮助别人。
将JWT端点设置为您的身份验证方法需要您拥有自己的服务器端点,然后Zendesk可以转到该端点以验证身份。
因此,在说JWT URL的字段中,您不应该拥有ZenDesk实例的URL。你应该有https://yourserver.com/verifyJWT(这只是一个示例端点)。然后在该端点,您的服务器应验证JWT是否有效并返回200 HTTP响应或401 HTTP响应(分别成功和未授权)来自ZenDesk here的更多详细信息。
然后使用iOS SDK,您需要设置身份,以便ZenDesk知道要发送到服务器端点的内容。关键是从服务器获取身份(可能作为对登录的响应),然后您可以验证ZenDesk何时命中您的端点。身份可以是任何字符串,只要它是您可以验证的格式。
您可能还需要了解JWT的格式。我发现this文章非常有帮助。