React Nativeアプリでのユーザーの認証

React Nativeアプリでのユーザーの認証

ユーザー認証とは 

どこでもサポートSDK(ソフトウェア開発キット)では、どこでもサポートのウィジェットにアクセスするユーザーに関する認証設定を行うことができます。設定後、アプリの利用者はZoho DeskのユーザーIDを使用してサインインする必要があります。サインインすると、アプリの利用者は認証され、どこでもサポートのウィジェットで各種サポート機能を利用できるようになります。Zoho Deskでは、認証方式としてJWT(JSON Web Token)が使用されます。

アプリの利用者は、JWT認証の有無によって、匿名ユーザーと認証ユーザーに分類されます。

    •    匿名ユーザー(JWT認証なし)

利用者はゲストユーザー(匿名ユーザー)と見なされます。ゲストユーザーによって実行できる操作は、ナレッジベースへのアクセス、問い合わせ送信、コミュニティでの投稿の表示、サポート担当者とのチャットに限定されます。自分が送信した問い合わせを表示したり、コミュニティで投稿したりすることはできません。

    •    認証ユーザー(JWT認証あり)

利用者は認証ユーザーと見なされます。認証ユーザーは、ゲストユーザーが行える操作に加えて、送信した問い合わせのステータスの表示、問い合わせへの返信、コメントの追加などの操作を行うことができます。また、コミュニティでは、トピック(投稿)の追加やフォロー、既存の投稿へのコメントの追加など、さまざまな操作を行うことが可能です。

JWT認証とは

JWT(JSON Web Token)とは、データ通信を安全に行うための仕組みです。JWTでは、JSON形式で記述された認証データを一定の形式に変換してから、署名や暗号化を行います。署名を行うことによってデータが改ざんされていないかどうかを確かめ、暗号化を行うことによってデータ保護することができます。主に認証手続きに関する通信において、WebアプリやAPIで広く使用されています。クライアントとサーバー間のデータ通信を安全に行うのに役立ちます。

JWT認証に関する詳細については、こちらをご参照ください。

JWTのトークンの指定

どこでもサポートのウィジェット画面でJWTトークンを使用してユーザー認証を行うには、以下のコードを追加します。
  1. ZohoDeskPortalSDK.isUserSignedIn((isSignedIn) => {
    if(!isSignedIn) {
    ZohoDeskPortalSDK.setJWTToken("JWT token",
    (msg) => {
    alert('Success Alert '+msg);
    } , msg => {
    alert('Failure Alert '+msg);
    });
    }
    else {
    alert("User is already signed in");
    }
    })

利用者のログアウト 

どこでもサポートから利用者をログアウトさせるには、以下のメソッドを使用します。
  1. import {
    ZohoDeskPortalSDK
    } from 'react-native-zohodesk-portal-sdk';
    ZohoDeskPortalSDK.logout((msg)=>{
    alert("Success "+msg);
    },
    (msg) =>{
    alert("Failure "+msg);
    });