你好,我现在使用的是我的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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Python的管理SDK中确实没有isNewUser方法。 一个解决方案是比较UserMetadata对象的creation_timestamp和last_sign_in_timestamp属性。如果两者很接近(相差1秒),则为新用户。实际上,这就是文档在引入isNewUser方法之前检查用户记录的“新特性”的方式,之所以会出现这种情况,是因为这两个时间戳在短时间内存在粒度差异。