Asked Dec 15th, 2020 1:42 a.m. 184 1 3
  • 184 1 3
+1

Hỏi về Verify Email Token trong Laravel

Share
  • 184 1 3

Anh chị cho em hỏi chức năng Verify Email trong laravel.
Nó có gửi đến email của mình 1 link kèm token và expirytime.
http://domain.com?expires=1607934442&hash=704108092c7c3158f88b026f68c442e0605ef0b4&id=309&signature=08832806da86bb8d2af87bff384ff8b93e4b765552599f59c9367057d988eab8
Tuy nhiên em thử kiểm tra thì ko thấy nó lưu thông tin đó trong DB.
Câu hỏi của em là nó lưu ở đâu ạ.
Hay là nó chỉ encode thông tin người dùng, và lúc check thì nó decode lại đúng không ạ

3 ANSWERS


Answered Dec 15th, 2020 2:12 a.m.
Share
Answered Dec 17th, 2020 10:08 a.m.
0

Câu hỏi của em là nó lưu ở đâu ạ. ==> Cũng giống như cơ chế JWT authen, các thông tin hash, expires và signature không cần lưu trữ ở server. Hệ thống sẽ tự decode để validate xem các thông tin của client truyền lên có đúng không.

Share
Avatar Thành Phan @Thanh.Phan
Jan 8th, 2021 7:50 a.m.

Mình hỏi bổ thêm. Ví dụ sau khi server xác thực xong token là hợp lệ. Thì làm thế nào nó check được token đó là của user id nào bạn nhỉ?

0
| Reply
Share
Answered Dec 23rd, 2020 2:22 p.m.
0

Mình thì không dùng cái tự động auth của laravel mà tự mình viết ra auth của chức năng lấy lại mật khẩu:

  • Tạo Controller Gửi email, nhận request từ client nếu là email hợp lệ thì tạo 1 trường mới trong table reset_password là email, token random >= 80, expiration_date 15 phút. Sau đó gửi email về có link dưới dạng: 127.0.0.1:8000/resetpassword/token?821hasiudhsadiyte7....
  • Ở đây tạo 1 function check token có đúng với email hay không. Nếu đúng thì hiện ra form đổi mật khẩu... ... Cơ bản là như vậy mong có thể giúp bạn
Share
Viblo
Let's register a Viblo Account to get more interesting posts.