我正在开发需要集成ZenDesk SDK的iOS应用。我已经设置了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:@"[email protected]"];

但是当我将JWT设置为身份验证方法时。没用

ios - ZenDesk iOS SDK:如何生成JWT终结点URL?-LMLPHP

最佳答案

Kirti,我知道这有点旧了,但是我只是完成了此设置,最后使它开始工作,因此希望它可以对其他人有所帮助。

将JWT端点设置为身份验证方法要求您拥有自己的服务器端点,然后Zendesk可以使用该服务器端点来验证身份。

因此,在显示JWT URL的字段中,您不应具有ZenDesk实例的URL。您应该有https://yourserver.com/verifyJWT(这只是示例端点)。然后,在该端点处,您的服务器应验证JWT是否有效,并从ZenDesk here返回200 HTTP响应或401 HTTP响应(分别为成功和未授权)。

然后,使用iOS SDK,您需要设置一个身份,以便ZenDesk知道要发送到服务器端点的内容。关键是从服务器获取身份(可能是对登录的响应),然后您可以验证ZenDesk在何时到达端点。身份可以是任何字符串,只要其格式可以验证即可。

您可能还需要了解JWT的格式。我发现this文章非常有帮助。

09-11 18:01