首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问`emails.auth.reminder`内部的密码重置令牌?

如何访问`emails.auth.reminder`内部的密码重置令牌?
EN

Stack Overflow用户
提问于 2014-07-03 06:22:55
回答 2查看 621关注 0票数 1

我刚刚开始学习Laravel,我正在跟踪这些文档。我了解到,Laravel使用emails.auth.reminder视图作为电子邮件发送给使用重置token的用户。在我的emails.auth.reminder中,我放置了以下内容:

代码语言:javascript
复制
Hello Dear User,<br><br>
We have received a request from your account to reset your password at Larblog. Please use the following link to reset your password.<br><br>

{{ URL::to( 'user/resetpassword/' . Session::get('_token') ) }}<br><br>

If it wasn't you who tried to reset the password, simply ignore this email.<br><br>
Thanks,<br>
- Larblog

注意,我正在使用Session::get('_token')访问令牌。我这么做是对的吗?因为它总是生成相同的令牌。Z7vKMT5ssfzeXsQcVkrYodoRmYnbjH0prdP83jBk一次又一次。当我用这个来重置密码的时候,上面写着:Invalid token received。此外,我已经签入了我的数据库的password_reminders表,它显示了不同的标记。当我使用存储在数据库中的令牌时,它可以工作。

那么,通过电子邮件发送的视图中访问令牌的正确方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-03 07:02:18

我不确定直接访问密码提醒令牌的方法是什么,但是通常情况下,当发送电子邮件时,它是通过密码::反射性()函数完成的,而不是通常的电子邮件函数。使用它时,$token变量将自动传递到电子邮件视图中,以便您可以使用它。

使用此功能的一个例子是:

代码语言:javascript
复制
Password::remind(Input::only('email'), function ($message)
{
    $message->subject('Password Reset');
});

然后在视图中访问它非常简单,如下所示:

代码语言:javascript
复制
To reset your password, complete this form: {{ URL::to('reset', array($token)) }}
票数 2
EN

Stack Overflow用户

发布于 2014-07-03 06:54:31

会话中的_token不是密码提醒令牌,而是出于安全原因自动插入的CSRF令牌

由于我不知道您的表和模型是什么样子的,所以很难确切地说您应该如何获得实际的密码提醒令牌,但很可能是这样的:

代码语言:javascript
复制
$user = User::find($someid);    // first fetch your user
$token = $user->passwordReminder->token; // now get the token

如果您的表格和模型与我的假设不同,请随时更新您的问题,我很乐意更新我的答案。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24546323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档