如何在验证到Watson Assistant后从Flask返回令牌?

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

我使用Flask-Security开发了一个使用Flask的用户管理系统。我想在页面中添加一个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的登录页面,并且在认证之后,我们回到对话对话框并提取相关数据经过身份验证的用户(例如用户个人资料的记录时间戳)?

python flask ibm-cloud ibm-watson watson-conversation
1个回答
-1
投票

architecture diagram for Watson Assistant in the app context。 Watson Assistant是或者可以只是解决方案的几种服务之一。通常情况下,您的应用会通过反复sending a message to Watson Assistant驱动对话,对话,并获得响应。

Flask应用程序处理整体流程,身份验证以及聊天数据(可能作为聊天窗口)嵌入UI的方式。有关不同的身份验证流程,请参阅IBM Cloud App ID。这个IBM Cloud tutorial基于Flask并使用App ID实现OIDC。

© www.soinside.com 2019 - 2024. All rights reserved.