JWT: chữ ký bảo vệ token khỏi sửa đổi, và bẫy alg=none biến verifier thành kẻ phản bội
JWT cho phép server tin một token mà không cần tra DB — nhờ chữ ký. Nhưng chữ ký chỉ bảo vệ khi bạn verify đúng. Bài này tự cài JWT HS256 trong Go và tái hiện thật: sửa payload role=admin mà không có secret để ký lại thì bị phát hiện ngay (chữ ký không khớp); nhưng một verifier ngây thơ TIN trường alg trong token sẽ bị bẫy alg=none qua mặt — chấp nhận token giả không chữ ký. Verify đúng phải ép thuật toán mong đợi.