Nhận thông tin người dùng từ mã thông báo JWT
chúng tôi sẽ giới thiệu cách lấy thông tin người dùng từ người dùng đăng nhập trong hệ thống xác thực jwt. blog này là một loạt. nếu bạn muốn biết cách cài đặt phần mềm trung gian jwt và triển khai tính năng đăng ký, đăng nhập, hãy xem các blog trước của chúng tôi Show
Khochúng tôi đã tạo kho lưu trữ hệ thống xác thực jwt. nhấp vào liên kết bên dưới để xem kho lưu trữ của chúng tôi
Môi trương phat triểnở đây, chúng tôi sẽ sử dụng môi trường phát triển Laravel được tạo bởi Laradock và Ansible. nếu bạn muốn biết môi trường của chúng tôi, hãy xem blog trước của chúng tôi
Sửa đổi bộ điều khiểnmở tệp
chức năng này là nhận và phản hồi thông tin người dùng đăng nhập theo yêu cầu của khách hàng (trình duyệt) Sửa đổi tuyến đườngsửa đổi tuyến đường để kết nối chức năng và url của bộ điều khiển. mở tệp
Tuyến đường chuyển hướngLaravel 0 middleware về cơ bản có tính năng chuyển hướng. chúng tôi sẽ định cấu hình chuyển hướng cho 1 và đặt phản hồi 401 . mở tệp 3 và sửa đổi nó như bên dưới
Bài kiểm trahãy kiểm tra tính năng thông tin người dùng thông qua 4
nếu mã thông báo jwt hợp lệ, bạn có thể lấy thông tin người dùng như màn hình bên dưới nếu mã thông báo jwt hết hạn hoặc người dùng không đăng nhập yêu cầu thông tin người dùng, bạn có thể nhận được phản hồi lỗi Hoàn thànhchúng tôi đã hoàn thành việc phát triển api có tính năng thông tin người dùng trong hệ thống xác thực jwt. ở bài đăng blog tiếp theo, chúng tôi sẽ giới thiệu cách tạo tính năng làm mới mã thông báo jwt sau khi đăng nhập Làm cách nào để lấy ID người dùng từ mã thông báo JWT trong Java?Giá trị userId sẽ được lưu trữ dưới khóa “phụ” trong mã thông báo truy cập JWT do Keycloak tạo. Dưới đây là ví dụ về mã thông báo truy cập JWT đã giải mã có chứa khóa “phụ”. Khóa “phụ” là viết tắt của “chủ đề” và sẽ chứa giá trị của userId chính hiện được xác thực
Mã thông báo JWT có chứa tên người dùng không?Không, JWT không chứa thông tin xác thực .
Mã thông báo JWT chứa thông tin gì?Cấu tạo của JWT
. tiêu đề, tải trọng và chữ ký . Tiêu đề thường bao gồm hai phần. loại mã thông báo JWT và thuật toán được sử dụng, chẳng hạn như HMAC SHA256 hoặc RSA SHA256. Nó được mã hóa Base64Url để tạo thành phần đầu tiên của JWT.
Tôi có thể giải mã mã thông báo JWT không?Theo thiết kế, bất kỳ ai cũng có thể giải mã JWT và đọc nội dung của phần tiêu đề và phần tải trọng. Nhưng chúng tôi cần quyền truy cập vào khóa bí mật được sử dụng để tạo chữ ký nhằm xác minh tính toàn vẹn của mã thông báo. |