⚠️ 本人確認は現在廃止予定です。
本人確認は引き続きサポートされ動作しますが、インストールや変更を検討している場合は、JSON Web Tokensを使用してMessengerを保護する方法への移行を強くお勧めします。
本人確認はIntercom Messengerのセキュリティ機能で、usersとのプライベートな会話を保護しなりすましを防止します。本記事は本人確認のトラブルシューティングと最新のセキュリティ方法への移行ガイドです。
本人確認の設定に問題がある場合、原因は2つあります:usersのMessenger APIリクエストにuser hashが欠落しているか、user hashは提供されているがIntercomの期待するものと異なる。
まずブラウザのコンソールを確認すると、例えば403権限エラーなど具体的な問題が表示されます。
ブラウザコンソールの開き方はこちらをご覧ください:Messengerが見えない場合|エラー確認方法。
この場合、本人確認が強制されていますが、ログイン中のusersのMessenger APIにuser hashが送信されていません。これによりMessengerは起動しません。
同様にモバイルでは、統合が「本人確認チェックに失敗しました」とIDEにエラー表示されます。
重要:エラーを解決せずに本人確認を強制すると、Messengerを設置したドメインで正しく読み込まれません。
ハッシュが欠落しています
ハッシュ欠落のエラーがある場合は、ワークスペース設定の本人確認シークレットとusersの識別子(user_idまたはemail)を使ってハッシュを生成し、すべてのusersリクエストに含める必要があります。
本人確認の設定にはIntercom Messengerの技術的な変更が必要で、多くの場合サーバー側コードへのアクセスが必要です。これは元々Intercomワークスペースを設定した担当者が行えます。
user_idでハッシュを生成する場合は、すべてのリクエストに関連するuser_idを送信する必要があります。
無効なハッシュ
ハッシュを送信しているのにIntercomが無効と判断する場合、以下を確認してください:
正しい本人確認シークレットを使用していますか?
各プラットフォーム(Web、iOS、Android)には固有のシークレットがあり、Intercom設定で提供されたものを使用する必要があります。独自に作成したものは機能しません。
APIキーやアプリクライアントシークレットを使ってハッシュを作成することはできません。アプリクライアントシークレットを使うと無効なuser_hashエラーになります。本人確認シークレットキーはもはや公開されていません。Messengerの保護にはJWTが推奨されています。JWT設定ガイドをご覧ください。
[TEST]ワークスペースと本番ワークスペースはそれぞれ固有の本人確認シークレットを持つため、別々に設定する必要があります。
user hashと共に関連するusers識別子を送信していますか?
user hashだけを送信すると本人確認チェックは失敗します。ハッシュ化した識別子(user_idまたはemail)もリクエストに含める必要があります。
正しいusers識別子(user IDかemail)でハッシュを生成していますか?
user_idとemailの両方を送信する場合は、user_idでuser_hashを生成してください。
user_idのみを送信する場合は、user_idでuser_hashを生成してください。
emailのみを送信する場合は、emailでuser_hashを生成してください。
ハッシュはセキュリティ設定のシークレットキー下のハッシュチェッカーで確認してください。
“user_hash”というキーでハッシュ値を送信しましたか?
生成したハッシュはJavascriptスニペットと共に“user_hash”として送信してください。他の名前(例:“android_user_hash”)は使えません。
コードは最新バージョンですか?
古いアプリやJavaScriptコードがキャッシュされている場合、usersデータにuser hashが含まれずMessengerが読み込まれないことがあります。
本人確認で問題が続く場合はMessenger経由でサポートチームにお問い合わせください。問題のあるusersのサンプルとコンソールのエラーを添えてご連絡ください。
注意:本人確認はJSON web tokens(JWT)を使った改善機能に置き換えられました。『Messengerの本人確認を強制』オプションは変更や新規インストールで利用できません。現在の実装は動作しますが、より安全で準拠性の高いJWTへの移行を強く推奨します。
Messengerの保護にはJWT(JSON Web Token)が推奨されています。以下のガイドをご覧ください:

