ユーザー認証とは
どこでもサポートSDK(ソフトウェア開発キット)では、どこでもサポートのウィジェットにアクセスするユーザーに関する認証設定を行うことができます。設定後、アプリの利用者はZoho DeskのユーザーIDを使用してサインインする必要があります。サインインすると、アプリの利用者は認証され、どこでもサポートのウィジェットで各種サポート機能を利用できるようになります。Zoho Deskでは、認証方式としてJWT(JSON Web Token)が使用されます。
アプリの利用者は、JWT認証の有無によって、匿名ユーザーと認証ユーザーに分類されます。
匿名ユーザー(JWT認証なし)
利用者はゲストユーザー(匿名ユーザー)と見なされます。ゲストユーザーによって実行できる操作は、ナレッジベースへのアクセス、問い合わせ送信、コミュニティでの投稿の表示、サポート担当者とのチャットに限定されます。自分が送信した問い合わせを表示したり、コミュニティで投稿したりすることはできません。
認証ユーザー(JWT認証あり)
利用者は認証ユーザーと見なされます。認証ユーザーは、ゲストユーザーが行える操作に加えて、送信した問い合わせのステータスの表示、問い合わせへの返信、コメントの追加などの操作を行うことができます。また、コミュニティでは、トピック(投稿)の追加やフォロー、既存の投稿へのコメントの追加など、さまざまな操作を行うことが可能です。
JWT認証とは
JWT(JSON Web Token)とは、データ通信を安全に行うための仕組みです。JWTでは、JSON形式で記述された認証データを一定の形式に変換してから、署名や暗号化を行います。署名を行うことによってデータが改ざんされていないかどうかを確かめ、暗号化を行うことによってデータ保護することができます。 主に認証手続きに関する通信において、WebアプリやAPIで広く使用されています。クライアントとサーバー間のデータ通信を安全に行うのに役立ちます。
JWT認証に関する詳細については、
こちらをご参照ください。
ユーザー認証を行うには、以下のコードを使用します。ユーザー認証に関連するメソッドの呼び出しには、以下のimport文を使用します。
Swift
- import ZohoDeskPortalAPIKit
Objective-C
- @import ZohoDeskPortalAPIKit;
JWTのトークンの指定
アプリでトークンを指定します。JWT認証に関する詳細については、
こちらをご参照ください。
Swift
- if !ZohoDeskPortalSDK.isUserLoggedIn
{
ZohoDeskPortalSDK.login(withJWTToken: String)
{ (isSuccess: Bool) in
// isSuccess shows whether the login attempt was successful
// any errors will be logged
}
}else
{
// user logged in already
}
Objective-C
- if (!ZohoDeskPortalSDK.isUserLoggedIn)
{
[ZohoDeskPortalSDK loginWithJWTToken:
<#(NSString * _Nonnull)#> onCompletion:^(BOOL isSuccess)
{
// isSuccess shows whether the login attempt was successful
// any errors will be logged
}];
}else
{
// user logged in already
} ;
「ZohoDeskPortalSDK.isUserLoggedIn」は、ユーザーが現在サインインしているかどうかを識別するためのコード(真偽値)です。 利用者のログアウト
どこでもサポートから利用者をログアウトさせるには、以下のメソッドを使用します。
Swift
- ohoDeskPortalSDK.logout { (isSuccess: Bool ) in
// isSuccess shows whether the logout attempt was successful
// any errors will be logged
}
Objective-C
- [ZohoDeskPortalSDK logoutOnCompletion:^(BOOL isSuccess) {
// isSuccess shows whether the logout attempt was successful
// any errors will be logged
}];
このメソッドを使用すると、認証ユーザーは匿名ユーザーとして見なされます。
ローカルデータのクリア
認証ユーザーがどこでもサポートのウィジェットからログアウトすると、デバイスに保存されているすべてのデータ(ローカルデータ)が自動でクリアされます。
匿名ユーザーのローカルデータもクリアする場合は、以下のメソッドを使用します。
Swift
ZohoDeskPortalSDK.clearAllLocalData()
Objective-C
[ZohoDeskPortalSDK clearAllLocalData];