日本語
  • jwt
  • auth
  • user data

移動するユーザーデータのための安全なハブ

認証とユーザーデータの対比。Logto の安全なストレージと移動を詳細に説明します。データフローのベストプラクティスをアウトライン (属性マッピング、データ同期、カスタム JWTs)。

Ran
Ran
Product & Design

ユーザーメタデータは、アイデンティティおよびアクセス管理 (IAM) サービスの生命線です。データ分析、個別化された体験、セキュリティモニタリング、アクセス制御などの製品機能をサポートします。しかし、アプリケーションがプラットフォーム、組織、およびアプリケーションの間でますます連携するようになると、ユーザーメタデータの管理は複雑になる可能性があります。安心してください!ユーザーデータの流れを理解することで、シームレスで安全な認証体験を構築できます。

認証データ vs. ユーザーデータ

すべてのユーザーデータが等しく作成されるわけではありません。認証データは、トークン発行中に交換される特定のサブセットです。HTTP リクエストで移動する JWT (JSON Web トークン) を想像してみてください。大きな JWT は速度を落とす可能性があります。速度とセキュリティを保つために、ID、アカウントステータス、認証の詳細、権限、および基本的なユーザープロファイルなどの基本的なユーザー情報のみを含めます。

Logto では、次の認証データポイントの保存に焦点を当てています:

  • アカウントステータス: 作成時間、更新、停止ステータス、ログイン履歴を追跡します。create_atupdated_ataccount_suspendedlast_ipを含む。
  • 認証情報: ユーザー識別子、認証要因、および検証関連データを含みます。user_idpassword_digestpassword_algorithmusernameemailemail_verifiedphonephone_verifiedsocial_identitiessso_identitiesmfa_configmfa_verification_factorsを含む。
  • 認可情報: 役割、権限、組織メンバーシップ、および詳細なアクセス制御のために認可されたアプリケーションおよびデバイスを管理します。rolepermissionorganization_idorganization_roleorganization_permissiongrant_applicationgrant_deviceを含む。
  • 標準ユーザープロファイル: これは、OIDC が登録する最も一般的なユーザープロファイルです。Logto もこれをデフォルトのユーザーメタデータとして設定しており、「profile.」という名前空間の下に保存されています。first_namelast_namemiddle_namenamenicknameprofilewebsiteavatargenderbirthdatezoneinfolocaleaddressを含む。

基本を超えて: Logto でのユーザーデータのカスタマイズ

  • Logto は標準プロファイルを超えます。私たちの管理 API を活用すれば、ビジネスニーズに特化したカスタムデータを定義することができます。このデータは、「custom.data」という専用の名前空間の下で安全に保存されます。次のようなケースがあります: occupationcompany_namecompany_size

金庫の外を考える: カスタム JWT を使用した外部 API データ

  • ビジネスデータの一部は Logto に恒久的に保存する必要がないかもしれません。カスタム JWT の美しさは、トークン発行中の API 呼び出しを通じてこのデータを動的に取得し、ユーザーデータの範囲を広げることができることです。セキュリティは最優先事項であるため、JWT に機密情報を含めないようにしましょう。次のようなケースがあります: subscribed_statuslast_path_visitedapp_theme

ユーザーデータの旅: 取得と配布

ユーザーデータはさまざまなソースから取得されます:

  • ユーザー入力: サインアップ、オンボーディング、またはアプリケーション内でのプロファイル更新時。
  • アイデンティティプロバイダー (IdP): ソーシャルログインまたはエンタープライズ SSO 中にシームレスに同期。
  • データ移行: 既存のデータベースから移動。
  • 管理者の介入: 管理者がコンソールまたはデータベースを介して手動で編集。

この貴重なデータを取得したら、次の方法で安全に共有できます:

  • サードパーティアプリへのアクセス権付与: 認可されたアプリケーションにユーザーデータへのアクセスを提供。
  • データのエクスポート: Logto からユーザーデータをエクスポートし、さらなる分析を行う。
  • JWT、Webhooks、または API を通じた配信: 統一されたユーザー体験のために、社内サービスとユーザーデータを共有。

Logto はアイデンティティセンターとして、ユーザーデータの流れを容易にすることに優れています。さまざまなプロバイダーからユーザー情報を取得し、認可された当事者に安全に配信します。

重要なポイント

ユーザーデータの旅を理解したので、設計上の重要な考慮事項をいくつか探ってみましょう:

  1. 属性マッピング 異なるソースからのユーザー属性の正確なマッピングを確保し、データサイロを回避します。SAML 接続の場合、手動マッピングが必要です。OIDC を使用する場合は、標準化されたクレームを活用するか、名前空間をユニークに作成して競合を防ぎます。
  2. IdP と RP のデータ同期 IdP (アイデンティティプロバイダー) と RP (レライングパーティ) 間のデータ同期は、通常、両方の側での認可および特定のスコープ要求を含みます。確認状況に注意してください。GitHub や Azure AD のような IdP からの「Email verified=false」のような同期は、あなたのシステムでの確認済みメールでない可能性があることを考慮してください。
  3. マルチエンティティ構造におけるデータの分離と上書き 複数の組織、アプリケーション、プロバイダーのある複雑な環境では、データの分離と上書きの動作が重要になります。
    • 複数の組織: ユーザーは複数の組織に所属できます。ユーザーアカウントに保存されたデータと組織固有のデータを区別します。1 つの組織内での変更は他者に影響を与えなくするべきです。
    • マルチアプリ: Logto を介してユーザーデータベースを共有するアプリケーションの場合、サービス内で集中アカウント設定またはプロファイル設定モジュールを実装します。
    • マルチプロバイダー: さまざまなサインイン方法を持つアプリケーションは、各プロバイダーから異なるユーザー情報を受け取ります。Logto では、ソーシャルログイン登録時またはエンタープライズ SSO の各ログイン時にデータを同期するオプションを選びます。ソーシャルログインは事前のデータ同期に理想的であり、エンタープライズ SSO は企業 IdP 内での管理を容易にするために各ログイン時にメンバー情報を同期できます。
  4. カスタム JWT によるデータアクセスの拡張 カスタム JWT の力は、トークン発行時の API 呼び出しを通じて外部情報を動的に取得する能力にあります。これにより、コア機能に不可欠ではないがユーザー体験を豊かにするデータポイントにアクセスできます。柔軟性が増すとともに、大きな責任も伴います。JWT は受け取った人が簡単に解析できるため、機密データを含めないようにしてください。
  5. スムーズなオンボーディングフローのための段階的登録 ユーザーを小説のような長い登録フォームで圧倒しないでください。段階的登録を実施することをお勧めします。これは、最初に最も重要なユーザー情報のみを要求する技術です。これにより、サインアッププロセスが合理化され、ユーザーの関与が保たれます。アプリケーションを通じてユーザーが関与するにつれて、さらにデータポイントを段階的に収集して、より豊かなユーザープロファイルを構築できます。

これらのベストプラクティスに従うことで、認証の旅全体でスムーズで安全なユーザーデータの流れを確保できます。

Logto: 移動中のデータの安全なハブ

ユーザーメタデータを効果的に管理することで、ユーザー体験を個別化し、セキュリティを強化し、ユーザーの行動に関する貴重な洞察を得ることができます。Logto の安全かつ柔軟なプラットフォームを活用することで、ユーザーデータの潜在能力を解き放ち、今のデータ駆動型の市場で競争力を得ることができます。