Flask-Social: не могу понять, как организовать OAuth flow

49 views
Skip to first unread message

Даниил Самсыгин

unread,
Jul 18, 2015, 4:57:27 PM7/18/15
to flask-...@googlegroups.com
Здравствуйте.

Кто-нибудь Flask-Social использует?

Я создал объект social:

social = Social(app, PeeweeConnectionDatastore(db, Connection))

Как в инструкции к Flask-Social написано, сделал шаблон формы для /login (эндпойнт /login уже есть в Flask-Security и в Flask-Login).

Ничего не работает. Пишет ошибку:

werkzeug.routing.BuildError

BuildError: ('security.authenticate', {}, None)


Делаю для шаблона отдельный эндпойнт:

app.route('/llogin')
def login():
    if current_user.is_authenticated():
        return redirect(request.referrer or '/')
    return render_template('login.html', form=LoginForm())

- LoginForm() импортирован из Flask-Security.

Появляется кнопка connect Facebook. Но кнопка направляет на url_for(social.connect),
который оказывается /login/connect - которого у меня нет и я получаю 404.

Да, весь код Flask-Social у меня вынесен в отдельный файл, чтобы не путаться с основным приложением. Я не использую blueprints, я просто использую в run.py from имя_файла import *

Если я сам создаю модель User, сам обращаюсь напрямую к Flask-Login, через Flask-OAuth логинюсь фэйсбуком, всё работает. Мне не понятно, как Flask-Social работает. Мне кажется, он может сильно сократить количество изобретаемых мной велосипедов. И в документации - ничего, что бы прояснило. Пробовал читать сорцы - вроде кажлый кусок понятен, но не понятно, как они взаимодействуют.
Reply all
Reply to author
Forward
0 new messages