Gần đây tôi bắt đầu làm việc với xác thực dựa trên JWT. Sau khi người dùng đăng nhập, một token của user được tạo ra đó sẽ giống như "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ".Khóa bí mật để xác thực dựa trên JWT là gì và cách tạo nó?
Nó bao gồm ba phần được phân cách bằng dấu chấm (.). Phần đầu tiên là tiêu đề được mã hoá Base64. Sau khi giải mã chúng tôi sẽ nhận được một cái gì đó giống như { "alg": "HS256", // Thuật toán sử dụng "typ": "JWT" }
phần thứ hai là yêu cầu và Base64 mã hóa. Sau khi giải mã chúng tôi sẽ nhận được một cái gì đó giống như { "phụ": "1234567890", "tên": "John Doe", "admin": đúng }
phần thứ ba là chữ ký và được tạo ra với
HMACSHA256 ( base64UrlEncode (tiêu đề) + "" + base64UrlEncode (payload), base64 bí mật được mã hóa )
Bây giờ khóa bí mật này là gì và làm thế nào để gen tỷ lệ khóa bí mật này ??
Tôi đã thử một số trình tạo trực tuyến như "http://kjur.github.io/jsjws/tool_jwt.html" nhưng dint nhận được nhiều trợ giúp.