You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Auth0+Angular+Spring环境下JWT用户标识与自定义用户对象问题

场景

我正在测试Auth0,对返回的数据存在困惑,这可能源于此前一直使用session,对JWT存在基础性误解。返回的JWT声明数据如下:

{
    "sub": "auth0|redacted", 
    "aud": ["redacted", "redacted"], 
    "azp": "redacted", 
    "scope": "openid profile email", 
    "iss": "redacted", 
    "exp": "2022-07-17T23:44:01Z", 
    "iat": "2022-07-16T23:44:01Z"
}

我了解sub是认证源及用户ID,也持有Bearer Token,可调用Auth0用户信息API获取完整用户数据,但不想仅为获取邮箱就调用该API。

核心问题
  • 我需要一个可与业务对象关联的用户对象(如用户保存表单时关联创建者)。由于用户可通过Auth0或Google等多源认证,无法直接使用JWT中的sub作为唯一标识,需考虑不同登录方式的场景。
  • 是否必须调用API获取邮箱,再通过邮箱查询数据库?仅在首次使用某认证方式时调用API获取邮箱并保存sub的方式显得繁琐,怀疑当前思路有误。
  • 是否存在邮箱之外的其他唯一标识?
  • 我的思路是否完全错误?我需要在应用内构建自定义User对象,以实现审计追踪或获取用户专属文档,使用Auth0的JWT时是否有更优方案?
参考仓库
  • Angular基础认证仓库
  • Spring MVC基础授权仓库

内容的提问来源于stack exchange,提问作者User9123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:39:25