有没有办法使用Flask管理Web服务的身份验证?

时间:2013-05-09 11:57:05

标签: python web-services authentication flask

我正在尝试使用flask来为Android应用程序提供基于http的Web服务。我发现flask-login是管理身份验证的最简单方法,但它似乎面向基于模板的Web应用程序。

是否有基于Web服务的身份验证的其他解决方案?

1 个答案:

答案 0 :(得分:2)

Flask-Login很好的解决方案。您可以为视图添加下一个装饰器:

def login_required():
    def wrapper(fn):
        @wraps(fn)
        def decorated_view(*args, **kwargs):
            if not current_user.is_authenticated():
                abort(401)
                # return jsonify(status='logged_off')
            return fn(*args, **kwargs)
        return decorated_view
    return wrapper

因此,如果用户未授权使用login_required装饰器返回401 Unauthorized响应的任何视图(或者如果您愿意,则使用自定义消息进行有效响应)。