我正在使用PHP
制作授权系统,并遇到了通过Bearer方案传递JWT令牌的问题,我阅读了[RFC 6750][1]。我有以下疑问:
- 这如何提高安全性?
- 服务器在成功授权和登录后,会在响应正文中向客户端返回JWT令牌。现在当客户端发出另一个请求时,我不清楚该如何操作,我想在请求的Authorization头中发送令牌,所以现在是否应该只是将前缀“Bearer”添加到从服务器先前响应中接收到的令牌中呢?如果是的话,服务器在接收到Authorization头后,是否应该只是用空格分隔字符串并取得获得的数组的第二个值,然后对其进行解码?例如:
Authorization:Bearer fdbghfbfgbjhg_something
,服务器应该如何处理它,decodeFunc(explode(" ", $this->getRequest()->getHeader("Authorization"))[1])
? [1]:https://www.rfc-editor.org/rfc/rfc6750
$headers
将会有类似于Bearer <space> <AuthToken>
的格式,那么现在,仅仅通过空格来分割字符串并获取实际的token是正确的吗?还是应该将整个字符串(Bearer <space> <token>)
作为一个整体来处理? - Ashish RanjangetAuthorizationHeader
函数。认证令牌可以存储在Authorization
,HTTP_AUTHORIZATION
或apache_request_headers
函数中,具体取决于您的服务器版本。 - Ngô Văn Thao