Jwtauth 自定义认证头信息

自定义认证头

项目使用的tymon/jwt-auth包作为 token 的认证,过程中需要迁移项目,因为之前公司的 token 头部使用自定义的,并且他们还修改了包的头信息。就是下面头部信息。

1
2
3
4
5
6
7
class AuthHeaders implements ParserContract
{
// 下面这两处就是被修改的
protected $header = 'authorization';

protected $prefix = 'bearer';
}

迁移项目过程了,因为拉取了新的包,所以还要去动包的信息,这是极其不合理的行为。所以就在包中尝试找到了更好的解决办法。如果在项目迁移过程中遇到了类似的问题该如何去做呢?这里只提供了我能想到的解决办法。需要在 AppServiceProvider 中加入该方法就可以了。

1
2
3
4
5
6
7
8
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);
}

如果你有更好的办法可以提供,欢迎留言或者改进。