Ste*_*one 2 http laravel laravel-passport
我正在使用 Laravel 护照,它需要在每个请求中发送要发送的标头身份验证。
是否可以将标头名称更改为 X-Access-Token?
我看到护照使用包裹
League\OAuth2\Server\AuthorizationValidators;
方法:
/**
* {@inheritdoc}
*/
public function validateAuthorization(ServerRequestInterface $request)
{
dd($request);
if ($request->hasHeader('authorization') === false) {
throw OAuthServerException::accessDenied('Missing "Authorization" header');
}
$header = $request->getHeader('authorization');
$jwt = trim(preg_replace('/^(?:\s+)?Bearer\s/', '', $header[0]));
Run Code Online (Sandbox Code Playgroud)
我试图在这里更改,但似乎标题的验证发生在此方法之前。
有许多基本代码段依赖于authorization标头的存在。
如果你有这种倾向,你可以自己动手。
另请注意,这authorization是一个Web 标准请求标头。X-Access-Token 是一种response header模式。
*编辑** 鉴于我们下面的对话,您可以使用中间件和中间件优先级来决定哪个先运行,观察具有X-Access-Token和 的请求,addHeader用于将该标头的值转换为authorization:
php artisan make:middleware AuthorizationToolMiddleware
Run Code Online (Sandbox Code Playgroud)
然后在handle函数中:
public function handle($request, Closure $next)
{
$request->headers->set('Authorization', $request->headers->get('X-Access-Token'));
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
该中间件应在其他中间件之前执行,以确保在通行证处理请求时设置标头。
| 归档时间: |
|
| 查看次数: |
3526 次 |
| 最近记录: |