问题标签 [itsdangerous]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
717 浏览

python - 使用 Flask-Mail 未在 Gmail 帐户中发送邮件

我正在尝试通过向 Gmail 帐户发送电子邮件来添加重置用户密码的功能。我一直在关注CoreySchafer YouTube 教程Miguel Grinberg 教程来实现这一点。

总体思路是用户将收到密码重置请求表的提示,他们将在其中输入他们想要重置密码的电子邮件地址。单击“请求重置密码”后,将显示一条消息,表明电子邮件已发送到他们的 Gmail 帐户。通过单击电子邮件中的链接,用户将能够重置其密码。

相关文件名的代码如下:

文件:路由.py

文件:forms.py

文件:email.py

文件:models.py

文件:reset_password_request.html

文件:reset_password.html

我已将环境变量保存在根目录的 .env 文件中。

还在项目根目录中创建了 config.py 文件。

终端结果:

我还为我的 Gmail 帐户打开了“安全性较低的应用程序”,但仍然无法发送电子邮件。在执行 Flask 应用程序期间,终端中没有错误。

期待您最亲切的支持。

0 投票
2 回答
937 浏览

python - Flask Webapp - 注册后验证电子邮件 - 最佳实践

我一直在关注Corey Schafer 在基本烧瓶博客上的精彩 youtube 教程。除了 Corey 的代码,我想添加一个逻辑,用户必须在登录之前验证他们的电子邮件地址。我已经想用来自 itsdangerous 的 URLSafeTimedSerializer 来做到这一点,就像prettyprinted 在这里所建议的那样. 整个令牌创建和验证过程似乎有效。不幸的是,由于我对 python 的了解非常新鲜,我自己无法弄清楚如何将其保存到 sqlite3 数据库中。在我的模型中,我创建了一个带有 default=False 的布尔列 email_confirmed,我打算在验证过程之后将其更改为 True。我的问题是:当他点击他的自定义网址时,我如何最好地识别用户(为谁更改 email_confirmed 列)?将令牌保存在 db 列中然后按该令牌过滤以识别用户是否是一种好习惯?
以下是一些相关代码:

我的 modely.py 中的用户类

我的路线中的注册逻辑(使用用户蓝图):

最后一部分current_user.email_confirmed = Truecurrent_user.email_confirm_date =datetime.utcnow可能是有问题的行。如上所述,由于用户在此阶段尚未登录,因此未进行所需的条目。我很感激这方面的任何帮助!提前非常感谢!

0 投票
4 回答
1533 浏览

python - 未导入的模块的Python Flask导入错误

我有一个在 Google App Engine 中运行的烧瓶应用程序。昨天,我部署了一个新版本的应用程序,我只更改了 HTML 样式。它按预期部署。今天才意识到我并没有为每个对应的HTML页面更改标题,所以我只更改了每个HTML页面中的标题标签。我再次部署了该应用程序,现在我收到了一个我从未使用过的模块的导入错误的奇怪错误。我怎样才能解决这个问题?

错误:

编辑 2022 年 2 月 24 日:

在此处输入图像描述

如您所见,python3.7 的原始文件夹已替换为 python3.9

这在 GAE 中正常吗?

0 投票
0 回答
30 浏览

flask - 哪个 Timed JSONWebSignature Serializer 替代 itsdangerous 更好?pyjwt 或 authlib

目前我正在使用itsdangerous生成定时 json Web 签名作为用户进行身份验证和重置密码等的令牌。这是代码:

而且由于TimedJSONWebSignatureSerializer弃用和删除,itsdangerous 2.1.0我想我可能需要继续使用其他一些提供 JWT/JWS 接口的库。

在这里我有两个候选人,哪个更好: