4

我正在开发需要集成 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:@"xxx@gmail.com"];

但是当我将 JWT 设置为身份验证方法时。它不工作。

在此处输入图像描述

4

1 回答 1

1

Kirti,我知道这有点旧,但我刚刚完成了这个设置,终于让它工作了,所以希望它可以帮助其他人。

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

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

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

您可能还需要了解 JWT 的格式。我发现这篇文章很有帮助。

于 2017-05-01T14:02:14.747 回答