我已经被困在这一段了一段时间了。我在laravel中使用json web令牌,并使用jwt-auth framework,并且我将它与离子2框架结合使用以验证登录。问题在于parseToken方法。在代码之后,我发现从parseToken() to setToken()开始,字符串转换为字符串对象,我不确定原因。修复这将是另一种解决方案,但我想要的解决方案是将字符串对象转换为常规字符串,因此我可以使用在tokenValidator中需要的explode函数。
我已经读过你不能从对象转换为字符串,但是当我从字符串对象转换为字符串时,它在echo的上下文中工作。它能够回显字符串,它的长度,并正确使用explode函数,但是laravel仍然告诉我,我无法将type对象转换为字符串。有什么想法吗?
public function parseToken($method = 'bearer', $header = 'authorization', $query = 'token')
{
if (! $token = $this->parseAuthHeader($header, $method)) {
if (! $token = $this->request->query($query, false)) {
throw new JWTException('The token could not be parsed from the request', 400);
}
}
return $this->setToken($token);
}
然后从tokenValidator
if (count(explode('.', $token)) !== 3) {
throw new TokenInvalidException('Wrong number of segments');
}
return true;
这里出现错误(字符串的回显来自早期的gettype调用):