azure-active-directory - MSAL - userIdentifier 与 idToken.oid
问题描述
我正在使用 MSAL 针对 Microsoft Azure AD 验证用户,并获得了一个有效的令牌。
MSAL 库将一个对象交还给我,该User
对象包含一个名为userIdentifier
.
这是一个字符串,而不是 GUID。
文档说要使用一个称为oid
唯一标识整个 Microsoft 身份平台的用户的字段。我在User.idToken.oid
.
如文档所述,此值是 GUID。
我的问题是,这是什么User.userIdentifier
,我应该使用它吗?我需要知道在数据库端存储什么以将此本地用户与 Azure AD 用户联系起来。
解决方案
查看源代码(https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/src/Account.ts),没有userIdentifier,但是有是一个帐户标识符。可能是您的版本较旧,在这种情况下,这可能不正确。
// create accountIdentifier
const accountIdentifier: string = idToken.objectId || idToken.subject;
它是 oid 或 sub 声明,以具有值的为准。如果你想要 oid,你应该从 Account 的 idTokenClaims 属性中获取它。
推荐阅读
- python - 无法在 Windows 7 上安装 python 库“请求”
- mysql - 查询字符串不正确排序宽度 ORDER BY
- reactjs - 在云功能firebase上部署时页面加载非常慢
- node.js - 清理用户纱线缓存会影响docker镜像吗?
- javascript - 如何使用 nrwl/nx 将 nodejs/express 及其唯一的包部署到我的服务器?
- amazon-redshift - $PM
Informatica 中 Redshift Source 的 @TableName 变量替代项 - java - 为什么我得到 Expected BEGIN_ARRAY 但在第 1 行第 1 列路径 $
- android - Ionic 4 android 应用程序在通话功能后恢复时冻结
- javascript - 如何在 useReducer() 和 useContext() 状态管理设置中使用 useEffect() 从 api 获取数据?
- javascript - 在 React 和 TypeScript 中扩展 HTML标签元素