この記事はZendeskの管理者を対象としています。開発者が行う必要がある作業については、「Enabling authenticated visitors(認証された訪問者を有効にする)」を参照してください。
この記事では、次のトピックについて説明します。
Webおよびモバイルのメッセージングでのエンドユーザー認証について
エンドユーザー認証とは、簡単に言えば、エンドユーザーの本人確認を行うことです。認証されたエンドユーザーの新しいメッセージングリクエストを過去の会話に結び付けることで、エージェントがより良いサポートを提供できるようになります。
このセクションでは、次のトピックについて説明します。
主要な要素
メッセージングでのエンドユーザー認証の仕組みを理解するために、認証プロセスに関わる主要な要素について理解しておく必要があります。
- JSON Webトークン(JWT)による認証:メッセージングでの認証に、Zendeskは署名付きJSON Webトークン(JWT)を使用しています。これらのトークンで、エンドユーザーの本人確認を行います。JWTについて詳しくは、jwt.ioを参照してください。
- 署名キー:署名キーは、Zendeskの管理者が管理センターで作成し、開発者と共有します。開発者はこのキーを使用して、必要に応じてJWTに署名を行います。詳しくは「署名キーの作成と共有」を参照してください。
- 一意のユーザーIDまたは外部ID:これらのIDは、ユーザーごとに一意の英数字の文字列(ユーザー名やカスタマーID番号など)です。Zendeskアカウントに複数のブランドがある場合、ユーザーはブランドごとに一意のIDを持つ必要があります。
- ユーザー名(オプション):名前を追加すると、エージェントがエンドユーザーとコミュニケーションを取るのに役立つかもしれません。この情報が収集され、JWTに追加されると、エージェントワークスペースに表示されます。これらの情報は必須ではありません。
セットアップ手順の概要
エンドユーザー認証を有効にするには、まずZendesk管理者が管理センターで署名キーを作成し、このキー(シークレットを含む)を開発者に提供する必要があります。開発者は、署名付きJWTを作成し、要求されたときにこれをWebサイトまたはモバイルアプリに返すことができるサービスをビジネスのバックエンドに実装する必要があります(以下の画像のステップ1および2)。ユーザーがWebサイトやアプリにログインするときはいつでも、開発者はZendesk Web WidgetとモバイルSDKの両方で提供される同等のログインAPIを呼び出す必要があります。サインイン時に、JWTはZendeskに渡され、ユーザーの身元を確認するために使用されます(下の画像のステップ3)。
エンドユーザーとエージェントのエクスペリエンスへの影響
メッセージングの認証が実装されると、エンドユーザーとエージェントのエクスペリエンスに若干の変化が生じます。
- エンドユーザー:Zendeskで認証され、身元が確認されると、デフォルトのメッセージングの応答の一環で、エンドユーザーはメッセージングボットから名前やメールアドレスの提供を求められることがなくなります。
-
エージェント:エージェントワークスペースで、認証されたエンドユーザーには以下のような認証アイコンが表示されます。
エージェントは、エンドユーザーのプロフィールの一部である外部IDを表示することができます。
APIで提供された外部IDが、既存のユーザーの外部IDと一致する場合、メッセージングチケットは既存のエンドユーザーと照合されます。
エンドユーザーが認証された場合:
- 新しいエンドユーザーが作成されます。匿名ユーザーのメッセージングチケットは、外部IDで新しく作成されたユーザーに関連付けられます。
- 認証されたエンドユーザーに未終了のメッセージングチケットがある場合、そのチケットは新しいメッセージで更新されます。
- エンドユーザーがサインアウトすると、その後の会話のために、新しいエンドユーザーと新しいメッセージングチケットが作成されます。
以下はその例です。
- エンドユーザーAがサインインせずにメッセージを送信します。ユーザー1とチケット1が作成されます。
- 会話の途中でエンドユーザーAがサインインします。ユーザー2が外部IDで作成されます(その外部IDのユーザーが存在しない場合)。
- チケット1で会話を続け、リクエスタがユーザー2に更新されます。
復帰した認証ユーザーに対しては、バックグラウンドでチケットの結合が行われ、会話の継続性が確保されます。以下はその例です。
- エンドユーザーAは認証ユーザーとしてチケット1を開いています。
- エンドユーザーAがログアウトしました。
- エンドユーザーAがサインインせずにメッセージを送信します。ユーザー2とチケット2が作成されます。
- エンドユーザーAが会話の途中で再度サインインします。認証されたユーザーAが外部IDで検索され、匿名の会話と認証された会話が結合されます。
- 会話はチケット1で継続され、チケット2は終了されます。
詳しくは「Zendeskエージェントワークスペースでの認証済みエンドユーザーの取り扱い」を参照してください。
署名キーの作成と共有
上記のセクションで述べたように、Zendeskの管理者は署名キーを作成し、JWTで使用するために開発者と共有する必要があります。キーは最大10個まで保存できます。また、署名キーを作成することで、フロービルダーでメッセージングメタデータ変数が有効になります。
署名キーを作成および共有するには
- 管理センターで、サイドバーの「
アカウント」をクリックし、「セキュリティ」>「エンドユーザー認証」を選択します。
- 「メッセージング」タブをクリックし、「キーを作成」ボタンをクリックします。このボタンは、初めてキーを作成する場合はページの下部に表示され、以前にキーを作成したことがある場合は右上に表示されます。
- 「新しいキーの作成」ダイアログで、キーの識別名を入力し、「次へ」をクリックします。
- 「共有シークレットのコピー」ダイアログで「コピー」をクリックしてコピーをクリップボードに保存し、「キーを永久に非表示にする」をクリックします。
「メッセージング」タブに戻ると、新しいキーが署名キーリストに含まれ、シークレットの最初の6文字が表示されています。
- キーIDと共有シークレットキーを機密性を確保して開発者に送信し、開発者はそれらを使ってJWTを作成することができます。詳しくは「Enabling authenticated visitors(認証済み訪問者を有効にする)」を参照してください。
新しいキーを生成して最大10個の上限を超えた場合、未使用のキーを削除するよう求める通知が表示されます。
未使用のキーを削除するには
- 管理センターで、サイドバーの「
アカウント」をクリックし、「セキュリティ」>「エンドユーザー認証」を選択します。
- 「メッセージング」タブをクリックします。
- 削除するキーにカーソルを合わせ、オプションメニューアイコンをクリックして、「削除」を選択します。
- 「キーを削除」をクリックして、操作を確定します。
現在の制限事項
メッセージングでのエンドユーザー認証の現在のバージョンには、以下の制限があります。
- Guide記事の制限:認証が必要なGuideの記事は、認証されているユーザーでも当面は利用できません。今後、認証が必要なGuideの記事もユーザーが閲覧できるよう、メッセージング製品を改良していく予定です。なお、ユーザー認証を必要としない記事には影響ありません。
- エージェントワークスペースのメールアドレス:エンドユーザーのメールアドレスは、当面はエージェントワークスペースに表示されません。この制限も解除するよう積極的に取り組んでいます。エージェントワークスペースにユーザーのメールアドレスを表示したい場合は、制限が解除された後の作業を軽減するために、このデータをJWTペイロードに追加しておくことをお勧めしますが、必須ではありません。他の方法として、メールアドレスがカスタマーの一意の識別子である場合は、外部IDを使用してメールアドレスを表示させることもできます。
0 コメント
サインインしてコメントを残してください。