Firebase python admin sdk isNewUser ()

Firebase python admin sdk isNewUser ()

您好,我目前在我的 Django 服务器上使用 firebase admin sdk 来处理我的应用程序。我想检查用户是否是第一次登录服务器的用户 side.I 想使用 firebase isNewUser() on the django server but in the firebase admin sdk docs 我没有看到任何与此相关的信息。

我的服务器端从令牌获取用户(从应用程序发送):

from utils.firebase_utils import auth

class FirebaseAuthentication(authentication.BaseAuthentication):
    def authenticate(self, request):
        token = request.META['HTTP_AUTHORIZATION']

    if not token: 
        return None 

    try:
        decoded_token = auth.verify_id_token(token)
        uid = decoded_token['uid']
        user = auth.get_user(uid, app=None)
       # need to check if user first time log in too
    except Exception as e:
        raise exceptions.AuthenticationFailed('No such user') 

    return (user, None) # authentication successful

如何检查用户是否是第一次登录?

Python 的 Admin SDK 中确实没有 isNewUser 方法。

解决方法是比较 UserMetadata objectcreation_timestamplast_sign_in_timestamp 属性。如果两者相近(相差1秒以内),则为新用户。这实际上是文档中所说的在引入 isNewUser 方法之前检查用户记录的 "newness" 的方式,这是因为两个时间戳在短时间内存在粒度差异。