本人確認開発者

この機能に関する開発者固有の情報以外の情報については、機能のドキュメントを参照してください。

フィーチャーフラグ

多くの登録パスと複数の検証ステージがあるため、ID 検証にはいくつかの機能フラグがあります。

これらの機能を有効にする前に、ハードメール確認が有効になっていること、およびArkoseが適切に設定されていることを確認してください。

機能フラグ名説明
identity_verificationすべての登録パスで電子メール認証を有効にします。
identity_verification_phone_numberすべてのフローで、中リスクユーザーに対する電話認証を有効にします(これを有効にするには、特定のフローの Arkose チャレンジフラグとidentity_verification フラグが有効になっている必要があります)。
identity_verification_credit_cardすべてのフローで、高リスクユーザーに対するクレジットカード認証をオンにします(特定のフローの Arkose チャレンジフラグとidentity_verification フラグが有効になっている必要があります)。
arkose_labs_signup_challengeTrial フローと OAuth フローを除くすべてのフローで Arkose チャレンジを有効にします。
arkose_labs_trial_signup_challengeTrial フローで Arkose チャレンジを有効にします (arkose_labs_signup_challenge フラグも有効にする必要があります)。
arkose_labs_oauth_signup_challengeOAuth フローで Arkose チャレンジを有効にします。

伐採

GitLabのプロダクションログを使って、本人確認で発生したイシューのトリアージやデバッグを行うことができます。

ユーザーとメール認証に関連するログの表示

ユーザーのメールステージに関連するログを表示するには:

  • GitLab のプロダクションログに以下の KQL をクエリします:

     KQL: json.controller:"IdentityVerificationController" AND json.username:replace_username_here
    

貴重なデバッグ情報はjson.actionjson.location のカラムで見つけることができます。

ユーザーと電話認証に関連するログの表示

ユーザーの電話認証ステージに関連するログを表示します:

  • GitLab のプロダクションログに以下の KQL をクエリします:

     KQL: json.message: "IdentityVerification::Phone" AND json.username:replace_username_here
    

json.eventFailed Attempt の行では、json.reason のカラムに次のような貴重なデバッグ情報を見つけることができます:

理由説明
invalid_phone_number電話番号にタイプミスがあるか、ユーザーがVOIP番号を使用しています。GitLabはユーザーが携帯電話以外の電話番号でサインアップすることを許可していません。
invalid_codeユーザーが間違った認証コードを入力しました。
rate_limitedユーザーが10回以上失敗したため、1時間の料金制限が行われました。
related_to_banned_userユーザーは、すでに禁止されているユーザーに関連する電話番号を試行しました。

Telesign SMSステータスの更新ログを見る

ユーザーに送信されたSMSのTelesignステータスアップデートのログを表示するには:

  1. 特定のユーザーに送信された SMS のtelesign_reference_id 値を取得します:

    json.message: "IdentityVerification::Phone" AND json.username:<username>`
    
  2. telesign_reference_id 値に関連するステータス更新ログを検索します:

    json.message: "IdentityVerification::Phone" AND json.event: "Telesign transaction status update" AND json.telesign_reference_id:replace_ref_id_value_here`
    

ステータス更新ログには以下のフィールドが含まれます:

項目説明
telesign_statusSMS の配信ステータス。可能なステータスコードとその説明については、Telesignのドキュメントを参照してください。
telesign_status_updated_onSMS の配信ステータスが最後に更新された日時を示すタイムスタンプ。
telesign_errors配信中に発生したエラー。考えられるエラーコードとその説明については、Telesign のドキュメントを参照してください。

ユーザーとクレジットカード認証に関連するログの表示

ユーザーのクレジットカードステージに関連するログを表示するには:

  • GitLab のプロダクションログに以下の KQL をクエリします:

     KQL: json.message: "IdentityVerification::CreditCard" AND json.username:replace_username_here
    

json.eventFailed Attempt の行では、json.reason のカラムに次のような貴重なデバッグ情報を見つけることができます:

理由説明
rate_limitedユーザーが10回以上失敗したため、1時間の料金制限が行われました。
related_to_banned_userユーザーが、すでに禁止されているユーザーに関連するクレジットカード番号を試行しました。

リスクの高いユーザーに関連するログの表示

ハイリスクユーザーのクレジットカードステージに関連するログを表示します:

  • GitLab のプロダクションログに以下の KQL をクエリします:

     json.controller:"SubscriptionsController" AND json.action:"payment_form" AND json.params.value:"cc_registration_validation"
    

コードのウォークスルー

コードのウォークスルーと高レベルの説明については、Identity Verification - Code walkthroughを参照してください。

QAインテグレーション

エンドツーエンドの本番テストとステージングテストが適切に機能するために、GitLabではQAユーザーが本人確認をバイパスすることができます。

追加リソース

不正使用防止チームは本人確認を担当しています。Slackのチャンネルに参加してください:#g_anti-abuse.

Telesignのヘルプ