Firebase 电子邮件确认不起作用

问题描述 投票:0回答:1

Firebase 电子邮件确认不起作用

我已在 Firebase Auth 中设置了电子邮件发送。 电子邮件已到达,但单击生成的链接后,email_verified 标志仍为 false。

这是我发送电子邮件的代码。

    email_verify_response = requests.post(
        f'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key={FIREBASE_API_KEY}',
        json={"requestType": "VERIFY_EMAIL", "idToken": id_token}
    )
    email_verify_data = email_verify_response.json()

    if 'error' in email_verify_data:
        print("Ошибка при отправке email для подтверждения")
        return firebase_error_response(email_verify_data['error']['message'], 503)
    
    print("Email для подтверждения отправлен")

这是获取用户的代码(我在单击链接检查标志后运行它)。

    users = []
    
    
    page = auth.list_users()

    while page:
        for user in page.users:
            
            users.append({
                "uid": user.uid,
                "email": user.email,
                "email_verified": user.email_verified,
                "display_name": user.display_name,
                "photo_url": user.photo_url,
                "last_sign_in_timestamp": user.tokens_valid_after_timestamp,
                "created_at": user.user_metadata.creation_timestamp
            })
        
        
        page = page.get_next_page()

    
    return jsonify(users), 200

可能是什么问题?

python firebase firebase-authentication firebase-admin
1个回答
0
投票

ID 令牌一旦被铸造,它就是不可变的。因此,只有在创建新的 ID 令牌后,

email_verified
声明才会更新。

在获取 ID 令牌的客户端代码中,您可以强制在用户对象上获取新令牌。如果您将该令牌发送到服务器,

email_verified
将显示最新值。

© www.soinside.com 2019 - 2024. All rights reserved.