前提条件
カスタムデータベース接続を構成します。- Dashboard>Authentication>Databaseでデータベース接続を作成します。必ず [Custom Database(カスタムデータベース)] ビューを選択し、[Use my own database(独自のデータベース)] を使用するスイッチを有効にしてください。
- データベースをアプリケーションに接続します:データベース接続設定で、アプリケーション ビューを選択します。この接続を使用しているアプリケーション セクションを見つけて、各アプリケーションのデータベース接続を有効にします。
シナリオ1:GigyaからAuth0へのユーザー移行
- Gigyaユーザーをエクスポート:GigyaのIdentitySyncを使用して、ユーザーデータを変換し、ターゲットスキーマに合わせてエクスポートします。このプロセスの詳細については、Gigya IdentitySync:Using IdentitySyncを参照してください。 指示に従って、Gigyaデータベースのユーザーデータを正しい[schema(スキーマ)]に変換し、変換されたデータをJSON形式でエクスポートします。
-
GigyaユーザーをAuth0にインポートします。ユーザーインポート/エクスポート拡張または[Management API]を使用してユーザーをインポートできます。
- [User Import/Export Extension(ユーザーインポート/エクスポート拡張)]:Auth0 Dashboard>Extensionsへ移動し、[User Import / Export(ユーザーインポート/エクスポート)] 拡張を選択し、インストールします。拡張がインストールされたら、それをクリックしてインポート/エクスポートインターフェイスを開くことができます。 エクスポートしたGigyaユーザーのJSONファイルを指定されたアップロード領域にドラッグし、先ほど作成したデータベースを選択します。インポートを開始するには、ユーザーのインポートの開始 を選択します。詳細については、ユーザーのインポート/エクスポート拡張を参照してください。
- Management API:ユーザーをAuth0にインポートするジョブを作成します。詳細な手順については、[一括ユーザーインポート]を参照してください。
シナリオ2:OktaからAuth0へのユーザー移行
- ユーザーのインポートを有効にする:Auth0 Dashboard>Authentication>Databaseに移動し、データベース接続を選択します。[Settings(設定)] で、[Import Users to Auth0(Auth0 にユーザーをインポート)] オプションを有効にします。
-
ログインスクリプトを作成する:[Login(ログイン)] スクリプトは、ユーザーがログインしようとしたときに、そのアカウントがAuth0データベースに見つからない場合に実行されます。メールとパスワードを
username
およびpassword
のパラメータとして渡して、Oktaプライマリ認証エンドポイントを呼び出すスクリプトを作成する必要があります。認証が成功すると、Oktaは埋め込みリソース内のユーザーのプロファイルを含む認証トランザクションオブジェクトを返します。その後、ユーザーの情報を抽出し、コールバック関数でAuth0に渡すことができます。 データベース接続の [Custom Database(カスタムデータベース)] ビューで、 [Database Action Scripts(データベースアクションスクリプト)] を見つけて、Login(ログイン)] を選択します。スクリプトが機能するかどうかをテストするには、スクリプトの上にある**[Try(試す)]**ボタンをクリックします。 -
ユーザー取得スクリプトを作成します:[Get User(ユーザー取得)] スクリプトは、ユーザーがパスワードをリセットしようとしたが、Auth0データベースにそのアカウントが見つからない場合に実行されます。ユーザーのメールアドレスを
login
パラメータとして渡して、Oktaログインでユーザー取得エンドポイントを呼び出すスクリプトを作成する必要があります。また、Authorization
ヘッダーでこのエンドポイントに渡す必要があるAPI トークンを作成する必要があります。成功した場合、Oktaはユーザーの情報を含むユーザーオブジェクトを返します。ここでも、ユーザーの情報を抽出し、コールバック関数でAuth0に渡すことができます。 データベース接続の [Custom Database(カスタムデータベース)] ビューで、[Database Action Scripts(データベースアクションスクリプト)] を見つけて、[Get User(ユーザーの取得)] を選択します。スクリプトが機能するかどうかをテストするには、スクリプトの上にある [Try(試す)] ボタンをクリックします。 - カスタムデータベース接続をテストします:[Try connection(接続を試す)] をクリックします。Auth0 Lockウィジェットが表示されます。Oktaユーザーのメールアドレスとパスワードを入力し、(Log In(ログイン)] をクリックします。接続が機能していることを示すWebページと、ユーザーに関する情報が表示されます。
- 新しくインポートされたユーザーを確認するには、Auth0 Dashboard>User Management>Usersへ移動します。
シナリオ3:StormpathからAuth0にユーザーを移行する
- ユーザーのインポートを有効にする:Auth0 Dashboard>Authentication>Databaseに移動し、データベース接続を選択します。[Settings(設定)] で、[Import Users to Auth0(Auth0 にユーザーをインポート)] オプションを有効にします。
- 接続用のアプリケーションを有効にします:[Applications(アプリケーション)] ビューを選択します。データベース接続を使用するアプリケーションを有効にします。
-
ログインスクリプトを作成する:[Login(ログイン)] スクリプトは、ユーザーがログインしようとしたときに、そのアカウントがAuth0データベースに見つからない場合に実行されます。ユーザーを認証するためにStormpathのAPIを呼び出すスクリプトを作成し、
username
とpassword
のパラメータとしてユーザーの資格情報を渡す必要があります。 認証が成功すると、Stormpathからの応答にユーザーアカウントURLが含まれます。ユーザーの情報を取得するには、アカウントURLに対して2回目の要求を実行します。その後、ユーザーの情報を抽出し、コールバック関数でAuth0に渡すことができます。スクリプトの上にある [Try(試す)] ボタンをクリックして、スクリプトが機能するかどうかをテストして確認します。 -
ユーザー取得スクリプトを作成します:[Get User(ユーザー取得)] スクリプトは、ユーザーがパスワードのリセットを試みたものの、Auth0データベース内にそのアカウントが見つからない場合に実行されます。Stormpath APIの
/accounts
エンドポイントを呼び出し、ユーザーのメールアドレスをemail
パラメータとして渡すスクリプトを作成する必要があります。成功した場合、Stormpathはユーザーの情報を返します。ユーザーの情報を抽出し、コールバック関数でAuth0に渡すことができます。スクリプトの上にある [Try(試す)] ボタンをクリックして、スクリプトが機能するかどうかをテストして確認します。 - カスタムデータベース接続をテストします:[Try connection(接続を試す)] をクリックします。Auth0 Lockウィジェットが表示されます。Stormpathユーザーのメールアドレスとパスワードを入力し、(Log In(ログイン)] をクリックします。接続が機能していることを示すWebページと、ユーザーに関する情報が表示されます。
- 新しくインポートされたユーザーを確認するには、Dashboard>User Management>Usersに移動します。