Как использовать сессии с MongoEngine и Flask-Login? - PullRequest
0 голосов
/ 11 января 2019

Я использую Flask-Login, MongoEngine, OAuth с Rauth для Flask.

Мне нужно сохранить сеанс моего пользователя в MongoEngine, но я не знаю, как это сделать.

Мой код таков:

@app.route('/callback/<provider>')
def oauth_callback(provider):
    if not current_user.is_anonymous:
        return redirect(url_for('index'))
    oauth = OAuthSignIn.get_provider(provider)
    social_id, username, email = oauth.callback()
    if social_id is None:
        flash('Authentication failed.')
        return redirect(url_for('index'))
    user = User.objects(social_id=social_id).first()
    if not user:
        user = User(social_id=social_id, nickname=username, email=email)
        user.save()
        db.session.add(user)
        db.session.commit()
    login_user(user, True)
    return redirect(url_for('index'))

В коде эти строки db.session.add(user) и db.session.commit() предназначены для SQL, но я не знаю, как это сделать в MongoEngine.

Есть ли способ сделать это в MongoEngine простым способом?

Спасибо !!

1 Ответ

0 голосов
/ 31 июля 2019

Линия user.save() выполняет свою работу. Можно использовать current_user.save() в зависимости от кода.

...