我正在我的项目中重置自定义密码,我不太确定Laravel Crypt function在这种情况下是否是一个很好的解决方案。我没有使用Hash:make函数,因为它将斜杠放入哈希标记中,因此路径有点搞砸了。
我现在正在做的是:
- 用户通过电子邮件重置表单
- 我使用Crypt :: encrypt()构建一个链接,并将加密的令牌,email和created_at存储在数据库中password_resets
- 点击链接后,我会检查用户电子邮件password_resets,比较数据库和网址中的令牌,尝试加密令牌。
示例链接:
http://localhost:8000/auth/reset/password?token=eyJpdiI6IjN2RUdiVnlLNGcraFVPV2tzMGRwN2c9PSIsInZhbHVlIjoiUWRyOFR5Y0x5SXRKVURTRFUySmZBZz09IiwibWFjIjoiYzlhOWM3ZDUyMjhmYjExY2I2ZGVlZGQ0OTNjY2ZkNTkwMzA0OTU0Mjk4M2JlODJhMmMxN2RlNTY4ZGM5NmFiNCJ9&email=example@example.com“
使用此功能的令牌非常大我也不确定我是否正在做这一切。
我应该在散列或加密之前将url令牌存储到数据库或令牌中吗?