Okta CIC(Auth0)によるProgressive Profiling実現

はじめに

Progressive Profilingとは、会員登録画面等において、段階的にユーザ情報を収集する手法です。
段階的に情報入力を求め、ユーザへの回答負担を減らすことで、回答率の向上及びより多くのユーザ情報収集を期待できます。また、回答が面倒等の理由で、ユーザが登録をやめてしまうことを回避し、ユーザの離脱率を改善することも期待できます。

例) ログイン回数に応じた段階的なユーザ情報入力フォームの提示

ログイン回数に応じた段階的なユーザ情報入力フォームの提示

Okta CIC(Auth0)では、Actions機能を利用することで、Progressive Profilingを容易に実現できます。ユーザのログイン回数に応じた入力フォームの提示有無、フォーム内容の変更等、柔軟な対応ができます。

本ページでは、ログイン回数に応じた入力フォームの表示について、実現方法と動作例をご紹介します。なお、入力フォームの表示には、Glitchを利用します。

前提

本ページ記載の機能及び設定に関する内容は、2023年9月現在の情報となります。

設定概要

  • Okta CIC事前準備
    • ユーザ作成
    • Okta CIC連携アプリケーション作成
  • Glitch設定
    • アプリケーション作成
    • Okta CICアプリケーションとの連携用情報取得 (Okta CIC設定にて利用)
    • Okta CICアプリケーションとの連携用情報登録
  • Okta CIC設定
    • Action作成1:初回ログイン時向け
      ・ログイン操作後における初回ログイン時向けフォームへのリダイレクト
      ・フォーム入力情報を保管 (ユーザ情報:user_metadata, 回答状況:app_metadata)
    • Action作成2:3回目のログイン時向け
      ・ログイン操作後における3回目のログイン向けフォームへのリダイレクト
      ・フォーム入力情報を保管 (ユーザ情報:user_metadata, 回答状況:app_metadata)

設定例

Okta CIC事前準備

  • ユーザ作成

ログイン動作確認用ユーザをOkta CIC上に作成します。

  • Okta CIC連携アプリケーション作成

Okta CICを介して認証を行うアプリケーションを用意します。サンプルアプリケーションの利用及びOkta CICとの連携に必要となる設定は、Auth0とサンプルアプリケーションの連携設定方法をご確認ください。

Glitch設定

  • アプリケーション作成
  • シークレットウィンドウにて、Glitch側で用意されたフォーム表示用アプリケーションのテンプレートにアクセス ※Okta社作成のアプリケーションを活用
    https://glitch.com/edit/#!/okta-cic-redirect-actions
  • 画面右上の[Remix]をクリック
  • 左上のプロジェクト名が変更されたことを確認
  • Okta CICアプリケーションとの連携用情報取得 (Okta CIC設定にて利用)
  • ページ最下部の[TERMINAL]をクリック
  • 以下コマンドを実行し、APP_SECRET_KEYとして利用するためのランダム文字列を生成 (Okta CIC設定で利用)
    > openssl rand -hex 32
  • [Share]をクリック
  • [Live site]欄のURLをコピー (Okta CIC設定で利用)
  • Okta CICアプリケーションとの連携用情報登録
  • [.env]をクリック
  • Okta CICテナント及び連携アプリケーション設定情報を入力
  • AUTH0_DOMAIN:Okta CICテナントのドメイン名
  • AUTH0_CLIENT_ID:Okta CICアプリケーション設定のClient ID値
  • AUTH0_CLIENT_SECRET:Okta CICアプリケーション設定のClient Secret値
  • APP_SECRET_KEY:前手順で生成したランダム文字列

Okta CIC設定

  • Action作成1:初回ログイン時向け
  • Okta CIC管理画面にて、[Actions] > [Library]をクリック
  • [Build Custom]をクリック
  • 作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
  • Secrets設定を追加
  • Key:SESSION_TOKEN_SECRET
    Value:Glitch設定で生成したAPP_SECRET_KEY値
  • Key:FORM_URL
    Value:Glitch設定でコピーしたGlitchリンク 例) https://Glitchプロジェクト名/prog/universal
  • [Deploy]をクリック
  • 作成したActionが正常にDeployされたことを確認
  • [Actions] > [Flows]をクリック
  • 作成したActionを組み込むFlowとして、[Login]を選択
  • 作成したActionをドラッグ&ドロップでFlow内に組み込み
  • [Apply]をクリック
  • 正常に反映されたことを確認
  • Action作成2:3回目のログイン時向け
  • 「Action作成1」①~④の手順と同様に、Actionを新規作成
  • [Deploy]をクリックし、作成したActionが正常にDeployされたことを確認
  • 「Action作成1」⑧~⑫と同様に、作成したActionをFlow内に組み込み、正常に反映されたことを確認

動作例

初回ログイン時の挙動確認

  • ログイン時の操作が以下となることを確認
  • ログイン認証後、初回ログイン時用のフォームに遷移
  • フォームを入力し、[登録]をクリック
  • 対象のアプリ画面へ遷移
  • ユーザ登録情報の確認
  • Okta CIC管理画面にて、[User Management] > [Users] > ログインしたユーザを選択
  • user_metadata及びapp_metadataに、フォーム入力情報が追加されたことを確認

3回目ログイン時の挙動確認

  • ログイン時の操作が以下となることを確認
  • ログイン認証後、初回ログイン時用のフォームに遷移
  • フォームを入力し、[登録]をクリック
  • 対象のアプリ画面へ遷移
  • ユーザ登録情報の確認
  • Okta CIC管理画面にて、[User Management] > [Users] > ログインしたユーザを選択
  • user_metadata及びapp_metadataに、3回目ログイン時のフォーム入力情報が追加されたことを確認

おわりに

本ページでは、Okta CICでのProgressive Profilingの実現方法をご紹介しました。
Actions機能を活用することで、フォームへのリダイレクト条件や、フォーム上で表示する内容の変更等、ご要件に合わせた柔軟な対応を採ることができます。無償のOkta CICトライアル環境においても、Progressive Profilingの実現をお試しいただけます。

Okta CICによるProgressive Profilingの実現にご興味ある方は、是非弊社までお問合せください。

参考

お問い合わせ・資料請求

株式会社マクニカ  Okta 担当

月~金 8:45~17:30