Как вернуть токены из Flask после аутентификации в Watson Assistant? - PullRequest
0 голосов
/ 17 февраля 2019

Я разработал систему управления пользователями, используя Flask, используя Flask-Security .Я хотел бы добавить чат-робота Watson на страницу, и он должен проверить, аутентифицирован ли пользователь или нет.Это будет сделано внутри Flask-Security в его модуле входа в систему следующим образом:

@app.route('/login', methods=['GET', 'POST'])
def login():
    # Here we use a class of some kind to represent and validate our
    # client-side form data. For example, WTForms is a library that will
    # handle this for us, and we use a custom LoginForm to validate.
    form = LoginForm()
    if form.validate_on_submit():
        # Login and validate the user.
        # user should be an instance of your `User` class
        login_user(user)

        flask.flash('Logged in successfully.')

        next = flask.request.args.get('next')
        # is_safe_url should check if the url is safe for redirects.
        # See http://flask.pocoo.org/snippets/62/ for an example.
        if not is_safe_url(next):
            return flask.abort(400)

        return flask.redirect(next or flask.url_for('index'))
    return flask.render_template('login.html', form=form)

Возможно ли, когда пользователь начинает задавать вопросы из интерфейса чата (например, спрашивает с даты регистрации в системе), мыперенаправить его / ее на страницу входа в Flask, и после аутентификации мы вернемся к диалогу беседы и получим данные, относящиеся к аутентифицированному пользователю (например, отметку времени записи профиля пользователя)?

1 Ответ

0 голосов
/ 19 февраля 2019

См. Диаграмму архитектуры для Watson Assistant в контексте приложения .Watson Assistant является или может быть только одним из нескольких сервисов для решения.Обычно ваше приложение запускает диалог, беседу, повторно отправляя сообщение в Watson Assistant и получая ответ.

Ваше приложение Flask управляет всем процессом, аутентификацией и тем, как данные чата (возможно, как окно чата) внедряются в пользовательский интерфейс.См. ИД IBM Cloud App для различных потоков аутентификации.Это Руководство IBM Cloud основано на Flask и реализует OIDC с идентификатором приложения.

...