开发者社区 问答 正文

Firebase python管理sdk isnewuser()

你好,我现在使用的是我的django服务器上的firebase管理sdk来处理我的应用程序。我想在django服务器上使用firebase isNewUser(),但是在firebase管理sdk文档中,我没有看到任何相关信息。 我的服务器端从令牌获取用户(从app发送):

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

我如何检查一个用户是否第一次登录? 问题来源StackOverflow 地址:/questions/59385439/firebase-python-admin-sdk-isnewuser

展开
收起
kun坤 2019-12-25 22:20:19 611 分享 版权
1 条回答
写回答
取消 提交回答
  • 在Python的管理SDK中确实没有isNewUser方法。 一个解决方案是比较UserMetadata对象的creation_timestamp和last_sign_in_timestamp属性。如果两者很接近(相差1秒),则为新用户。实际上,这就是文档在引入isNewUser方法之前检查用户记录的“新特性”的方式,之所以会出现这种情况,是因为这两个时间戳在短时间内存在粒度差异。

    2019-12-25 22:20:25
    赞同 展开评论