プロビジョニング(B2C)
ユーザーがどのようにしてサインアップするかを決めることは、早期に検討するべき重要事項です。そこでの決定内容が、今後必要となる多くの決定事項に影響を与えます。ユーザーがシステムに追加される方法には一般的なパターンがあり、ワークフローの設計を考える際に注意するべき事柄があります。
ベストプラクティス
Auth0はさまざまなワークフローをサポートしていますが、サインアップにはAuth0ユニバーサルログインを使用したWebベースのワークフローが、最適な機能性と最高のセキュリティを提供するという点で、業界でもAuth0にとってもベストプラクティスとみなされています。
Auth0は、いくつかの異なるIDプロバイダーを通したサインアップに対応しています。サインアップ中には、Auth0がユーザープロファイルをプロビジョニングするため、ユーザーのアカウント情報が含まれます。機能性とワークフローを検討する際には、以下のように、考慮するべき事柄がいくつかあります。
Auth0をIDストアとして使用するべきなのか
独自の(レガシー)IDストアをAuth0で使用できるのか
使用しているIDストアからAuth0に、どのようにしてユーザーIDを移行するのか
ユーザーはGoogleやFacebookなどの既存のソーシャルアカウントを使ってサインアップできるのか
Auth0はそのままで便利に使えるIDストレージを提供しているため、ユーザーの資格情報を安全に保管することができます。詳細については、「セルフサインアップ」を参照してください。すでにレガシーIDストアがあり、管理の負担を軽くしたい場合には、ユーザーの移行機能に利用できるいくつかのオプションがあります。
まだ移行したくない、または、移行できないアプリケーションがあるなどの理由で、レガシーIDストアを管理しなければならない場合には、IDストアプロキシ機能を使うことができます。顧客が個人IDの持ち込み(BYOI)を行えるようにするのも、方法として効果的です。最初から持ち込みを行う利用者はあまり見かけませんが、ソーシャルサインアップ機能を使うと提供することができます。
ユーザーの移行
ユーザープロファイルをホストするだけでなく、Auth0はレガシーIDストアのプロキシ機能を備え、安全なAuth0ホストのIDストアを提供しています。これらの機能はどちらも、Auth0のデータベース接続を使うことでサポートされます。レガシーIDストアの代わりにAuth0を使うことに決めた場合は、一括移行で一気にユーザーを移行するか、自動移行で段階的に移行することができます。
ベストプラクティス
当社の多くの顧客の方は、2段階でのユーザー移行を選びます。まず自動移行を行ってできるだけ多くのアクティブユーザーを移行し、次に自動移行をオフにして一括移行で残りのユーザーを移行する、というアプローチです。詳細については、「ユーザー移行シナリオ」をご覧ください。
自動移行は、ユーザーを個別に移行したい場合にお勧めします。また、ほぼすべての状況で、ユーザーは既存のパスワードを維持することができます。一括移行では、Management APIの使用をお勧めします。User Import/Export(ユーザーインポート/エクスポート)拡張機能に比べて、Management APIには高い柔軟性と制御が備わっているため、シンプルな状況のほとんどで有効です。
bcryptを使ってパスワードがハッシュ化され、レガシーIDストアに保管されていない限り(または、bcrypt形式で生成することが可能)、ユーザーの一括移行では通常、移行の完了後にパスワードのリセットが必要になります。その場合、使用しているbcryptアルゴリズムとソルトラウンド数によっては、一括移行でユーザーのパスワードを維持することができます。詳細については、「一括インポートのデータベーススキームの例」を参照してください。
ベストプラクティス
Management APIへの呼び出しは、「Auth0のレート制限ポリシー」の対象となります。Auth0は通常、APIを直接呼び出す代わりに、開発環境に適したAuth0 SDKの使用を推奨していることにご注意ください。
IDストアプロキシ
Auth0のデータベース接続タイプは、既存の(レガシー)IDストアをプロキシするように構成することもできます。たとえば、ビジネスに不可欠な1つ以上のアプリケーションがあり、Auth0には移行できないけれど、それらのIDにはアクセスする必要があるケースなど、独自のレガシーストアにユーザーIDを保持しなければならない場合には、Auth0と手軽に統合することができます。詳細については、「独自のデータベースを使用してユーザーを認証する」を参照してください。
セルフサインアップ
セルフサインアップは、Auth0のデータベース接続を使用して、サインアップ中に新規ユーザーから収集したユーザーID、パスワード、(任意の)ユーザー名のID情報を保存します。最小のユーザー名の長さまたはパスワード強度と複雑さなどの条件を制御するデータベース接続ポリシーは、Auth0 Dashboardから構成することができます。
ベストプラクティス
Auth0「ユニバーサルログイン」とAuth0ウィジェット(「Lock」など)は、データベース接続と統合して、設定不要なサインアップのための明瞭なユーザーインターフェース機能を提供します。これらのUIアーティファクトは完全にリアクティブであり、機能豊富な構成と明瞭なカスタマイズにより、ユーザーのセルフサインアップおよびログイン機能をデプロイできます。
ソーシャルサインアップ
ソーシャルサインアップは、ソーシャル認証を使ったサインアップと同じです。初回のソーシャルログインでユーザープロファイルが自動的に作成されるため、*本質的な*違いはありません。
プロジェクト計画ガイド
当社では、PDF形式の計画ガイダンスを提供しています。ダウンロードして、推奨される戦略の詳細を参照してください。
B2C IAM Project Planning Guide