首页 > 解决方案 > Firebase 自定义身份验证 - lastSignInTime = Null

问题描述

我正在使用节点的“firebase-admin”来创建自定义令牌,该令牌基于使用创建的用户admin.auth().createUser(params)并通过以下方式更新admin.auth().updateUser(userId, updateParams)

但是,当创建自定义用户时,该用户的“登录”字段在 Firebase 身份验证仪表板中以及当我使用获取用户记录时为“null”admin.auth().getUser('custom:uid').then((userRecord) => { console.log(userRecord.toJSON()); })

以下是获取用户记录的结果(我有屏蔽凭据):

{ uid:'custom:uid',电子邮件:'xxx@yyy.com',emailVerified:false,displayName:'testuser',photoURL:'https://xxxx.jpg',phoneNumber:未定义,禁用:false,元数据: { lastSignInTime: null, creationTime: 'Mon, 29 Mar 2021 08:11:56 GMT'}, passwordHash: undefined, passwordSalt: undefined, customClaims: undefined, tokensValidAfterTime: 'Mon, 29 Mar 2021 08:11:56 GMT' ,tenantId:未定义,providerData:[] }

以下是我的仪表板屏幕截图: 在此处输入图像描述

我的问题是我应该怎么做才能更新“lastSignInTime”,以便它在用户登录时正确更新?我假设无论是 IcreateUser()还是updateUser(),Firebase 都会自动记录“已登录”字段(就像它为“已创建”所做的那样),但它没有这样做。

标签: firebasefirebase-authentication

解决方案


“登录”的值将在用户首次登录时更新。据我所知,没有其他方法可以更新该值。


推荐阅读