Python 使用flask登录进行无头身份验证

Python 使用flask登录进行无头身份验证,python,authentication,flask,token,flask-login,Python,Authentication,Flask,Token,Flask Login,我正试图想出一个好办法,允许“非交互式”身份验证访问我的Flask webapp中的某些视图,它目前使用Flask登录 目前,用户使用web表单进行身份验证。然后检查凭证,如果有匹配项,我调用flask\u login.login\u user(user),其中user是与提供的用户名和密码关联的用户对象。然后,我用@flask\u login.login\u required装饰器装饰任何需要经过身份验证的用户的视图。这很有效 我现在需要允许使用无头浏览器访问某些特定页面,以便生成PDF。实现

我正试图想出一个好办法,允许“非交互式”身份验证访问我的Flask webapp中的某些视图,它目前使用Flask登录

目前,用户使用web表单进行身份验证。然后检查凭证,如果有匹配项,我调用
flask\u login.login\u user(user)
,其中
user
是与提供的用户名和密码关联的用户对象。然后,我用
@flask\u login.login\u required
装饰器装饰任何需要经过身份验证的用户的视图。这很有效

我现在需要允许使用无头浏览器访问某些特定页面,以便生成PDF。实现这一目标的最佳途径是什么?我在考虑HTTP摘要身份验证或基于令牌(可能通过GET参数通过视图提供),但不确定实现这一点的最佳方式,以及它将如何与flask登录相适应


最终,我需要以某种方式调用
flask\u login.login\u user(user)
(其中
user
是与所提供的令牌/摘要凭据关联的系统用户),但在提供了替代凭据的情况下,绕过正常重定向返回登录页面。我应该写一个新的装饰器(比如@token_required),还是有更好的方法来实现这一点

是的,您需要基于令牌的身份验证。不是作为GET参数,而是作为HTTP头;在同一授权标头上。你可以使用大量的在线材料和暗示,它们已经实现了你所说的@token_。更多您计划如何在无头客户处进行会话?它支持cookies吗?当谈到代币时,他可以使用JWT。@Vasif感谢链接。HTTP头身份验证是一个选项,如果我正在编写API,那么它肯定是我会选择的路径。不过,我也希望能够(向用户)共享此页面的URL,而且并非所有无头浏览器都(轻松地)支持自定义标题,因此如果可能的话,我希望避免使用该路径。