邮箱认证章节从邮件中获取链接 url,访问返回 403Forbidden

邮箱认证章节从邮件中获取链接url,访问返回403Forbidden

跟踪发现是在signed 这个middleware 总$request->hasValidSignature() 失败导致的,再具体点就是
hasValidSignature中的
$signature = hash_hmac('sha256', $original, call_user_func($this->keyResolver));

和通知发出去的

邮箱认证章节从邮件中获取链接 url,访问返回 403Forbidden

邮箱认证章节从邮件中获取链接 url,访问返回 403Forbidden

对应打印如下
邮箱认证章节从邮件中获取链接 url,访问返回 403Forbidden

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

兄弟我也遇到这个问题,你试下重新登录,重新发送邮件验证,然后到.log文件里找最末端的验证链接,因为有可能是复制错了之前旧的验证链接

5年前 评论
讨论数量: 7

兄弟我也遇到这个问题,你试下重新登录,重新发送邮件验证,然后到.log文件里找最末端的验证链接,因为有可能是复制错了之前旧的验证链接

5年前 评论

@CharlieSING
我反反复复试验了十几次,都这样, 通过打印我发现 ,就是通知发出去的链接 和 校验的时候计算的链接不同,不同之处在于 校验的时候多个 _url=XXXX ,XXX是 域名/ 后的path的转码,是这个导致的

5年前 评论
Guanjian104 1年前

@kuangbo 看下 新建的EnsureEmailIsVerified 文件,

file
对比下。

4年前 评论

直接点击链接会在默认窗口(跟【点击发送验证邮件页面】不在同一窗口)打开,跟你出现了一样的问题,权限问题怀疑是校验不到是该用户点击的链接。
不直接打开,而是复制链接在【点击发送验证邮邮件页面】的同一各浏览器窗口里打开,验证成功了,可以试一下。
具体出现问题的原因没去深究了额

3年前 评论

同样的问题,是怎么解决的呀

2年前 评论

file
好像是这个验证没通过,跟进去后发现

file

file

打印了一下,第一个箭头是true,第二个箭头返回的false。这个地方不明白怎么回事。

因为是false,就返回错误了。没有进入下一步

Laravel

发送邮件的时候,是用的sha1进行加密

Laravel

比对的时候,又是对链接非签名部分采用sha256加密。

各位是怎么解决的呀??

———————————————分割线———————————–

搞定了,直接从log里面复制出来的链接会多加字符,所以导致不对不通过。

Laravel

这是我直接在浏览器上打印出来的链接地址

Laravel

这是在邮件里的地址,看箭头的地方,都多了【3D】两个字符。

后来的同学如果还是在log里面复制链接的话,一定要注意多生成的字符。

或则,直接在:

Laravel

采用这种方式打印链接出来;

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!