简体中文
用户数据安全枢纽在移动中
对比身份验证和用户数据。详细说明 Logto 的安全存储和移动过程。概述数据流最佳实践(属性映射、数据同步、自定义 JWT)。
用户元数据是身份和访问管理 (IAM) 服务的生命线。它为数据分析、个性化体验、安全监控和访问控制等产品功能提供动力。但随着应用程序在平台、组织和应用程序之间变得更加互连,管理用户元数据可能会变得复杂。别担心!通过了解用户数据的流动方式,你可以构建无缝且安全的身份验证体验。
身份验证数据 vs. 用户数据
并非所有用户数据都是一样的。身份验证数据是令牌颁发期间交换的特定子集。想象一下 JWT(JSON Web 令牌)在你的 HTTP 请求中传递。一个大的 JWT 会拖慢速度。为了保持快速和安全,我们仅包括必要的用户信息,如身份、账户状态、身份验证详细信息、权限和基本用户配置文件。
在 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
。