Ý nghĩa của nút check secret base64 encoded trên trang jwt.io
Chào các bạn trên diễn đàn Viblo, trong quá trình sử dụng thư viện jwt mình có chỗ này còn chưa hiểu rõ đó là :
nút check box secret base64 encoded
trên trang jwt.io
Theo cái tên của nó thì mình hiểu đơn giản là khi mình check nó sẽ endcoded
(mã hóa) chuỗi secret
của mình dưới dạng base-64
Nhưng mình không hiểu ý nghĩa của việc mã hóa này nhằm mục đích gì và khi làm việc thì trong code có cần phải làm như vậy không.
Mong các bạn có kiến thức rộng và sâu về phần này có thể chia sẻ thêm giúp mình.... Xin cám ơn các bạn nhiều ạ
1 CÂU TRẢ LỜI
trong trường hợp secret của bạn đã được encode bằng base64 thì bạn cần tick vào ô đó, để nó decode secret của bạn ra giá trị thực trước khi verify
lí do vì sao lại có base64 thì nó rất là phụ thuộc vào nơi bạn lấy secret họ implement như nào. Mình lấy 1 ví dụ cụ thể cho bạn. Trên Kubernetes khi lấy secret:
kubectl get secret my-secret -o yaml
thì secret trả về ở dưới dạng base64, thì nếu cái trang jwt.io nó ko support base64 thì bạn phải decode bằng tay:
echo "some secret in base64" | base64 --decode
sau đó mới đem lên jwt.io được.
Thì thay vì như thế jwt.io nó support bạn bước decode kia luôn
Vậy khi đó nếu mã secret
của mình bị encode
dưới dạng base64
thì khi check trên trang jwt.io
mình phải paste mã secret
bị encode sau đó check vào ô checkbox thì nó mới cho ra kq hợp lệ đúng không bạn
@thanh_tuan chính xác bạn
@maitrungduc1410 mình cám ơn bạn nhiều nha