Jwtauth 自定义认证头信息
自定义认证头
项目使用的tymon/jwt-auth包作为 token 的认证,过程中需要迁移项目,因为之前公司的 token 头部使用自定义的,并且他们还修改了包的头信息。就是下面头部信息。
class AuthHeaders implements ParserContract
{
// 下面这两处就是被修改的
protected $header = 'authorization';
protected $prefix = 'bearer';
}
迁移项目过程了,因为拉取了新的包,所以还要去动包的信息,这是极其不合理的行为。所以就在包中尝试找到了更好的解决办法。如果在项目迁移过程中遇到了类似的问题该如何去做呢?这里只提供了我能想到的解决办法。需要在 AppServiceProvider 中加入该方法就可以了。
protected function setAuthHeader()
{
$chain = $this->app['tymon.jwt.parser']->getChain();
$chain[0] = $chain[0]->setHeaderPrefix('项目的 token 前缀')->setHeaderName('项目的头信息 key');
$this->app['tymon.jwt.parser']->setChain($chain);
}
如果你有更好的办法可以提供,欢迎留言或者改进。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
我这这样解决的,新增一个中间件,中间件中重新给标头赋值

.
大佬,你这个方法加到AppServiceProvider没用啊,还是验证失败
还有这个方法在哪里调用啊,我是在boot里面调用的