我想知道为什么我们在身份验证期间减去前7个令牌字符,如:
substr($_SERVER["HTTP_AUTHORIZATION"],7)
答案 0 :(得分:3)
请参见以下示例:Best HTTP Authorization header type for JWT
HTTP标头是这样的(一行):
授权:Bearer eyJhbGciOiJIUzI1NiIXVCJ9 ... TJVA95OrM7E20RMHrHDcEfxjoYZgeFONFh7HgQ
因此,您需要删除长度为7个字符加一个空格的“ Bearer”部分,但是由于在大多数语言中,索引都是从0开始索引的,因此在上述字符串中,令牌的位置是从7开始。
有关标题内容的更多说明,请参见https://jwt.io/introduction/。