Tôi nhận ra đây là năm muộn, nhưng tôi nghĩ tôi có thể mở rộng câu trả lời của Conor và thêm một chút nữa vào cuộc thảo luận.
Ai đó có thể cho tôi mô tả từng bước về cách xác thực dựa trên cookie hoạt động không? Tôi chưa bao giờ làm bất cứ điều gì liên quan đến xác thực hoặc cookie. Trình duyệt cần phải làm gì? Máy chủ cần làm gì? Theo thứ tự? Làm cách nào để giữ mọi thứ an toàn?
Bước 1: Khách hàng> Đăng ký
Trước khi bất cứ điều gì khác, người dùng phải đăng ký. Máy khách gửi yêu cầu HTTP tới máy chủ có chứa tên người dùng và mật khẩu của họ.
Bước 2: Server> Xử lý đăng ký
Server nhận yêu cầu này và băm mật khẩu trước khi lưu trữ tên người dùng và mật khẩu trong cơ sở dữ liệu của bạn. Bằng cách này, nếu ai đó có quyền truy cập vào cơ sở dữ liệu của bạn, họ sẽ không thấy mật khẩu thực của người dùng của bạn.
Bước 3: Khách hàng> Người dùng đăng nhập
Bây giờ người dùng đăng của bạn trong Ông/bà cung cấp tên tài khoản/mật khẩu và một lần nữa, điều này được đăng tải như một yêu cầu HTTP đến máy chủ..
Bước 4: Server> Members đăng nhập
Máy chủ nhìn lên tên người dùng trong cơ sở dữ liệu, băm mật khẩu đăng nhập được cung cấp, và so sánh nó với mật khẩu băm trước đó trong cơ sở dữ liệu. Nếu nó không kiểm tra, chúng tôi có thể từ chối họ truy cập bằng sending a 401 status code and ending the request.
Bước 5: Server> Tạo access token
Nếu mọi thứ đều kiểm tra ra, chúng ta sẽ tạo ra một thẻ truy cập, trong đó xác định duy nhất phiên của người dùng. Vẫn còn trong máy chủ, chúng tôi làm hai việc với các thẻ truy cập:
- Lưu trữ nó trong cơ sở dữ liệu liên quan đến người dùng mà
- Đính kèm nó vào một cookie đáp ứng để được trả lại cho khách hàng. Hãy chắc chắn đặt ngày/giờ hết hạn để giới hạn phiên của người dùng
Do đó, cookie sẽ được đính kèm với mọi yêu cầu (và phản hồi) được thực hiện giữa máy khách và máy chủ.
Bước 6: Khách hàng> Làm trang yêu cầu
lại về phía khách hàng, chúng tôi đang đăng nhập Mỗi khi khách hàng làm cho một yêu cầu cho một trang yêu cầu ủy quyền (tức là họ cần phải đăng nhập. trong), máy chủ lấy mã thông báo truy cập từ cookie và kiểm tra nó dựa vào mã thông báo trong cơ sở dữ liệu được liên kết với người dùng đó. Nếu nó kiểm tra, truy cập được cấp.
Điều này sẽ giúp bạn bắt đầu. Đảm bảo xóa cookie khi đăng xuất!
http://www.howstuffworks.com/cookie.htm – Cyclonecode
bài viết này có thể giúp: http://www.yegor256.com/2015/05/18/cookie-based-authentication.html – yegor256