移動するユーザーデータのための安全なハブ
認証とユーザーデータの対比。Logto の安全なストレージと移動を詳細に説明します。データフローのベストプラクティスをアウトライン (属性マッピング、データ同期、カスタム JWTs)。
ユーザーメタデータは、アイデンティティおよびアクセス管理 (IAM) サービスの生命線です。データ分析、個別化された体験、セキュリティモニタリング、アクセス制御などの製品機能をサポートします。しかし、アプリケーションがプラットフォーム、組織、およびアプリケーションの間でますます連携するようになると、ユーザーメタデータの管理は複雑になる可能性があります。安心してください!ユーザーデータの流れを理解することで、シームレスで安全な認証体験を構築できます。
認証データ vs. ユーザーデータ
すべてのユーザーデータが等しく作成されるわけではありません。認証データは、トークン発行中に交換される特定のサブセットです。HTTP リクエストで移動する JWT (JSON Web トークン) を想像してみてください。大きな JWT は速度を落とす可能性があります。速度とセキュリティを保つために、ID、アカウントステータス、認証の詳細、権限、および基本的なユーザープロファイルなどの基本的なユーザー情報のみを含めます。
Logto では、次の認証データポイントの保存に焦点を当てています:
- アカウントステータス: 作成時間、更新、停止ステータス、ログイン履歴を追跡します。
create_at
、updated_at
、account_suspended
、last_ip
を含む。 - 認証情報: ユーザー識別子、認証要因、および検証関連データを含みます。
user_id
、password_digest
、password_algorithm
、username
、email
、email_verified
、phone
、phone_verified
、social_identities
、sso_identities
、mfa_config
、mfa_verification_factors
を含む。 - 認可情報: 役割、権限、組織メンバーシップ、および詳細なアクセス制御のために認可されたアプリケーションおよびデバイスを管理します。
role
、permission
、organization_id
、organization_role
、organization_permission
、grant_application
、grant_device
を含む。 - 標準ユーザープロファイル: これは、OIDC が登録する最も一般的なユーザープロファイルです。Logto もこれをデフォルトのユーザーメタデータとして設定しており、「profile.」という名前空間の下に保存されています。
first_name
、last_name
、middle_name
、name
、nickname
、profile
、website
、avatar
、gender
、birthdate
、zoneinfo
、locale
、address
を含む。
基本を超えて: Logto でのユーザーデータのカスタマイズ
- Logto は標準プロファイルを超えます。私たちの管理 API を活用すれば、ビジネスニーズに特化したカスタムデータを定義することができます。このデータは、「custom.data」という専用の名前空間の下で安全に保存されます。次のようなケースがあります:
occupation
、company_name
、company_size
。
金庫の外を 考える: カスタム JWT を使用した外部 API データ
- ビジネスデータの一部は Logto に恒久的に保存する必要がないかもしれません。カスタム JWT の美しさは、トークン発行中の API 呼び出しを通じてこのデータを動的に取得し、ユーザーデータの範囲を広げることができることです。セキュリティは最優先事項であるため、JWT に機密情報を含めないようにしましょう。次のようなケースがあります:
subscribed_status
、last_path_visited
、app_theme
。
ユーザーデータの旅: 取得と配布
ユーザーデータはさまざまなソースから取得されます:
- ユーザー入力: サインアップ、オンボーディング、またはアプリケーション内でのプロファイル更新時。
- アイデンティティプロバイダー (IdP): ソーシャルログインまたはエンタープライズ SSO 中にシームレスに同期。
- データ移行: 既存のデータベースから移動。
- 管理者の介入: 管理者がコンソールまたはデータベースを介して手動で編集。
この貴重なデータを取得したら、次の方法で安全に共有できます:
- サードパーティアプリへのアクセス権付与: 認可されたアプリケーションにユーザーデータへのアクセスを提供。
- データのエクスポート: Logto からユーザーデータをエクスポートし、さらなる分析を行う。
- JWT、Webhooks、または API を通じた配信: 統一されたユーザー体験 のために、社内サービスとユーザーデータを共有。
Logto はアイデンティティセンターとして、ユーザーデータの流れを容易にすることに優れています。さまざまなプロバイダーからユーザー情報を取得し、認可された当事者に安全に配信します。
重要なポイント
ユーザーデータの旅を理解したので、設計上の重要な考慮事項をいくつか探ってみましょう:
- 属性マッピング 異なるソースからのユーザー属性の正確なマッピングを確保し、データサイロを回避します。SAML 接続の場合、手動マッピングが必要です。OIDC を使用する場合は、標準化されたクレームを活用するか、名前空間をユニークに作成して競合を防ぎます。
- IdP と RP のデータ同期 IdP (アイデンティティプロバイダー) と RP (レライングパーティ) 間のデータ同期は、通常、両方の側での認可および特定のスコープ要求を含みます。確認状況に注意してください。GitHub や Azure AD のような IdP からの「Email verified=false」のような同期は、あなたのシステムでの確認済みメールでない可能性があることを考慮してください。
- マルチエンティティ構造におけるデータの分離と上書き
複数の組織、アプリケーション、プロバイダーのある複雑な環境では、データの分離と上書きの動作が重要になります。
- 複数の組織: ユーザーは複数の組織に所属できます。ユーザーアカウントに保存されたデータと組織固有のデータを区別します。1 つの組織内での変更は他者に影響を与え なくするべきです。
- マルチアプリ: Logto を介してユーザーデータベースを共有するアプリケーションの場合、サービス内で集中アカウント設定またはプロファイル設定モジュールを実装します。
- マルチプロバイダー: さまざまなサインイン方法を持つアプリケーションは、各プロバイダーから異なるユーザー情報を受け取ります。Logto では、ソーシャルログイン登録時またはエンタープライズ SSO の各ログイン時にデータを同期するオプションを選びます。ソーシャルログインは事前のデータ同期に理想的であり、エンタープライズ SSO は企業 IdP 内での管理を容易にするために各ログイン時にメンバー情報を同期できます。
- カスタム JWT によるデータアクセスの拡張 カスタム JWT の力は、トークン発行時の API 呼び出しを通じて外部情報を動的に取得する能力にあります。これにより、コア機能に不可欠ではないがユーザー体験を豊かにするデータポイントにアクセスできます。柔軟性が増すとともに、大きな責任も伴います。JWT は受け取った人が簡単に解析できるため、機密データを含めないようにしてください。
- スムーズなオンボーディングフローのための段階的登録 ユーザーを小説のような長い登録フォームで圧倒しないでください。段階的登録を実施することをお勧めします。これは、最初に最も重要なユーザー情報のみを要求する技術です。これにより、サインアッププロセスが合理化され、ユーザーの関与が保たれます。アプリケーションを通じてユーザーが関与するにつれて、さらにデータポイントを段階的に収集 して、より豊かなユーザープロファイルを構築できます。
これらのベストプラクティスに従うことで、認証の旅全体でスムーズで安全なユーザーデータの流れを確保できます。
Logto: 移動中のデータの安全なハブ
ユーザーメタデータを効果的に管理することで、ユーザー体験を個別化し、セキュリティを強化し、ユーザーの行動に関する貴重な洞察を得ることができます。Logto の安全かつ柔軟なプラットフォームを活用することで、ユーザーデータの潜在能力を解き放ち、今のデータ駆動型の市場で競争力を得ることができます。