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
可能是什么问题?
ID 令牌一旦被铸造,它就是不可变的。因此,只有在创建新的 ID 令牌后,
email_verified
声明才会更新。
在获取 ID 令牌的客户端代码中,您可以强制在用户对象上获取新令牌。如果您将该令牌发送到服务器,
email_verified
将显示最新值。