Проверка подлинности Pyrebase не возвращает успешный случай - PullRequest
0 голосов
/ 04 августа 2020

Здравствуйте, я создаю веб-приложение, используя flask, и пытаюсь реализовать аутентификацию firebase через pyrebase, но не могу успешно войти в систему. Кажется, мне не удается заставить auth.sign_in_with_email_and_password(email, password) работать.

@app.route('/login', methods=['GET', 'POST'])
def login():
    unsuccessful = 'Please check your credentials'
    successful = 'Login successful'
    form=LoginForm()
    if request.method == 'POST':
        password = form.password.data
        email = form.email.data
        print(email)
        print(password)
        try:
            user = auth.sign_in_with_email_and_password(email, password)
            print(user)
            return render_template('login.html', s=successful,form=form)
        except KeyError:
            return render_template('donation.html')
        except:
            return render_template('login.html', us=unsuccessful,form=form)
    return render_template('login.html',form=form)

Он всегда заканчивается этим случаем return render_template('login.html', us=unsuccessful,form=form)

Это мой класс для формы.

class LoginForm(FlaskForm):
    email = StringField('Email', validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember_me = BooleanField('Remember Me')
    submit = SubmitField('Sign In')

Это логин. html.

{% extends "base.html" %}
{% import 'bootstrap/wtf.html' as wtf %}

{% block app_content %}

{% if s %}
    <div class="alert alert-success">
        <h2>{{s}}</h2>
    </div>
{% endif %}

{% if us %}
    <div class="alert alert-danger">
        <h2>{{us}}</h2>
    </div>
{% endif %}

<h1>Sign In</h1>
<div class="row">
    <div class="col-md-4">
        {{wtf.quick_form(form)}}
    </div>
</div>
{% endblock %}

1 Ответ

0 голосов
/ 04 августа 2020

Мои инициализации pyrebase / auth находятся в файле, отличном от моих маршрутов. Я поместил

firebase = pyrebase.initialize_app(firebaseConfig)
auth = firebase.auth()

вместе с конфигурацией firebase в тот же файл, что и мои маршруты, и получил успешную аутентификацию.

...