Tôi đã tự hỏi mọi người thường xử lý Xác thực người dùng bằng redux như thế nào? Tôi đang sử dụng Redux Router và tôi có một API đường dẫn phụ trợ xử lý xác thực người dùng thông qua một mã thông báo xác thực.Xử lý xác thực người dùng thông qua Redux và Redux Router
Khi người dùng gửi biểu mẫu đăng nhập, api sẽ trả về mã thông báo xác thực để sử dụng cho các yêu cầu tiếp theo. Ban đầu tôi chỉ lưu trữ mã thông báo auth trong cây trạng thái đơn và mỗi lần tôi gửi một hành động cần thực hiện yêu cầu API yêu cầu xác thực người dùng, tôi sử dụng (dispatch, getState) để tìm nạp mã thông báo xác thực đó và sau đó đưa nó vào API yêu cầu. Vì vậy: getState(). CurrentUser.auth_token.
Tôi không chắc liệu tôi có đang tiếp cận điều này một cách đúng đắn hay không. Do một số người sử dụng localStorage với Redux để xác thực người dùng để mô phỏng như phiên phía máy chủ? Sau đó, mỗi lần yêu cầu API được thực hiện, tôi chỉ cần kiểm tra bộ nhớ cục bộ cho mã thông báo xác thực và nếu người dùng đó có đăng nhập không?
Điều tôi đã kết thúc là sử dụng cookie js và đã thực hiện Cookie.set khi người dùng xác thực. Thành phần gốc của tôi <App />
sau đó có một componentDidMount gửi một hành động initAuth() để kiểm tra Cookie hiện tại để xem liệu nó có còn hợp lệ hay không. Nếu như vậy nó giữ cho người dùng đã đăng nhập bằng cách khác, nó sẽ đặt lại trình giảm xác thực thành defaultState của nó.
Dưới đây là liên kết để repo với xác thực người dùng: https://github.com/SpencerCDixon/Kira/blob/master/client/actions/AuthActions.js
Bất cứ lời khuyên hoặc tài nguyên sẽ được nhiều đánh giá cao. Tôi đã xem ví dụ thế giới thực và ví dụ auth Router cho đến nay. Ví dụ về React Router dường như sử dụng localStorage, đó là lý do tại sao tôi tò mò nếu đó là con đường phù hợp để thực hiện. Tôi nhận thấy cũng có một gói nux Redux Localstorage.
Rất muốn biết nếu tôi vô tình mở bản thân mình lên một số loại tấn công xác thực hoặc nếu có cách nào tốt hơn để tiếp cận luồng này!
Vâng có ý nghĩa, do đó bạn chủ yếu tạo ra giống như một 'dịch vụ' riêng biệt nếu bạn sẽ cho xác thực người dùng. Cảm ơn ngọt ngào cho đầu vào của bạn Tôi đánh giá cao nó – spencercdixon
bạn có một liên kết để git cho một ví dụ về đăng nhập của bạn/đăng ký – hounded
nếu tôi muốn ứng dụng của tôi biết trạng thái đăng nhập của người dùng? ứng dụng sẽ hoạt động (toàn bộ hoặc một phần) ngay cả khi người dùng không được xác thực. –