小编Som*_*per的帖子

在 keycloak 令牌中使用“sub”声明作为内部数据库中的用户 ID 是否安全

我正在开发一个将来可能支持社交登录的应用程序(除了我们自己的 keycloak 用户名/电子邮件注册之外)。

我正在尝试确定使用 keycloak ID 令牌中的“sub”声明作为我们内部 mongo 数据库中用户的主键(“_id”字段)是否安全。理想情况下,我希望使用令牌中的 id,因为在某些情况下,我可能不需要在 api 中进行额外的用户查找。

我看到 Microsoft azure 文档显示他们的身份验证令牌同时具有“sub”和“oid”,其中“oid”建议用于内部用户查找,因为它是全局唯一的。请参阅本节

此 ID 唯一标识跨应用程序的用户 - 登录同一用户的两个不同应用程序将在 oid 声明中收到相同的值。Microsoft Graph 将返回此 ID 作为给定用户帐户的 id 属性。

那么,keycloak 中是否存在与“oid”声明等效的内容,我是否需要添加自定义声明来实现等效项,或者我可以只使用“sub”声明来代替?

authentication oauth-2.0 jwt openid-connect keycloak

3
推荐指数
1
解决办法
3154
查看次数