如何使用 firebase 向 sing_up 函数 python 添加电子邮件验证?

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

def sign_up(self, email, password):

    app = App.get_running_app()
    signup_url = "https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=" + self.wak
    signup_payload = {"email": email, "password": password, "returnSecureToken": True}
    try:
        sign_up_request = requests.post(signup_url, data=signup_payload)
        sign_up_data = json.loads(sign_up_request.content.decode())
        log.info(sign_up_request, sign_up_data)

        if sign_up_request.ok:
            refresh_token = sign_up_data['refreshToken']
            localId = sign_up_data['localId']
            idToken = sign_up_data['idToken'] # authToken
            app.lock = 0
            with open('refresh_token.txt', 'w') as f:
                f.write(refresh_token)

            constants.LOCAL_ID = localId # uid
            constants.ID_TOKEN = idToken
            data = {"user_telephone": "", "user_name": "", "user_lname": "", "user_email": email}

            my_data = json.dumps(data)
            self.create_user(my_data=my_data, idToken=idToken, localId=localId)

            # показываем текст ошибки в лэйбле, если данные введены неверно
        if not sign_up_request.ok:
            error_data = json.loads(sign_up_request.content.decode())
            log.error(f'{error_data} {sign_up_request}')
            error_message = error_data['error']['message']
            app.root.ids['login_screen'].ids['login_message'].text = error_message
    except Exception as exc:
        app.error_modal_screen(text_error="Please check your internet connection!")
        log.error(exc)

我想这样做,如果电子邮件无效,用户将无法注册,或者类似的事情

python firebase authentication registration email-validation
© www.soinside.com 2019 - 2024. All rights reserved.