2015-09-25 21 views
11

Tôi đang sử dụng laravel 5 và js góc và xác thực JWT để ghi nhật ký và đăng ký người dùng của mình. Nhưng không có gì đề cập đến để tạo thuận lợi cho người dùng nhớ chức năng của tôi và cũng cho phép người dùng đặt lại mật khẩu khi quên mật khẩu.Nhớ người dùng & Quên mật khẩu Chức năng trong Laravel 5.1 và Angular JS (JWT Authentication)

Tôi đã nghiên cứu rất nhiều và không tìm thấy chính xác những gì tôi cần mặc dù câu trả lời trong liên kết sau hữu ích nhưng không đủ để tôi tiếp tục. Laravel 5 Password Reset with Angular View

Vui lòng cung cấp mọi thông tin và liên kết hữu ích. Cảm ơn bạn trước! :)

+0

Mật khẩu thuộc nhiều loại khác nhau, bạn có thể cụ thể hơn hay không, điều gì không phù hợp với câu hỏi bạn đã liên kết, vì vậy chúng tôi có thể cụ thể hơn với câu trả lời. – Alex

Trả lời

4

Để trả lời từ góc độ JWT.

Ghi nhớ tôi về cơ bản là yêu cầu người dùng đăng ký bao lâu. Tùy thuộc vào yêu cầu bảo mật và mẫu sử dụng điển hình của người dùng của bạn, các phiên ngắn thường là từ 15 phút và đến phiên trình duyệt. Các phiên dài (chọn Ghi nhớ tôi) có thể là bất cứ thứ gì từ 24 giờ đến một năm.

Tổ chức phát hành JWT có thể đặt xác nhận quyền sở hữu hết hạn (thời gian hết hạn của mã thông báo) khác nhau tùy thuộc vào lựa chọn của hộp kiểm 'Nhớ thông tin đăng nhập của người dùng'.

Nếu bạn dự định 'Nhớ thông tin' kéo dài hơn một phiên trình duyệt, cách đơn giản nhất là lưu mã thông báo trong cookie. Điều này có nghĩa là cookie cũng cần phải có các thuộc tính sau được đặt: httponly, secure và expires (với cùng thời hạn hết hạn như yêu cầu exp từ token).

Mật khẩu còn lại việc triển khai có nhiều hình dạng và kích thước tùy theo yêu cầu của bạn. Chúng không liên quan trực tiếp đến JWT khi chúng đến trước khi nhà phát hành JWT phát hành một mã thông báo.

+0

Cảm ơn bạn đã trả lời @Alex. –

1

Bạn đang yêu cầu thứ gì đó cần được xử lý riêng cho trường hợp của bạn. Cách hầu hết các hệ thống "nhớ tôi" làm việc (bao gồm cả Laravel) là thông qua việc lưu trữ một cookie trên thiết bị của người dùng. Sau đó, cookie đó được sử dụng để xác thực tự động khi người dùng trả về. JWT là khác nhau khi bạn được cung cấp một mã thông báo, chứ không phải là một cookie, mà bạn quay trở lại máy chủ trong một tiêu đề. Cả hai đều là các chuỗi ký tự và chữ số, nhưng bạn sẽ phải lưu trữ mã thông báo JWT trên trình duyệt của người dùng để có một loại chức năng "nhớ tôi". Bạn có thể làm điều này trong ứng dụng Góc bằng cách sử dụng localStorage hoặc một số thực hành tương tự khác ở đầu cuối.

Đối với mật khẩu đã quên, bạn có thể gửi các trường biểu mẫu giống như mặc định cho Laravel và chỉ cần ghi đè cách PasswordController trả về phản hồi; trong trường hợp này cần trả lời JSON thay vì chuyển hướng.

+0

Cảm ơn bạn đã trả lời @Adam –

Các vấn đề liên quan