Yêu cầu thg 12 15, 2020 1:42 SA 231 1 3
  • 231 1 3
+1

Hỏi về Verify Email Token trong Laravel

Chia sẻ
  • 231 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 CÂU TRẢ LỜI


Đã trả lời thg 12 15, 2020 2:12 SA
Chia sẻ
Đã trả lời thg 12 17, 2020 10:08 SA
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.

Chia sẻ
Avatar Thành Phan @Thanh.Phan
thg 1 8, 2021 7:50 SA

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ỉ?

Đã trả lời thg 12 23, 2020 2:22 CH
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
Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí