小智 8
在 public/.htaccess 中添加授权处理代码:
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
参考:https : //github.com/laravel/laravel/blob/master/public/.htaccess
我只是在为Google员工进行更新,因为我也在寻找解决方案,因此觉得修改核心代码不是一个好主意!
我所拥有的解决方案是使用中间件。在我的JavaScript中,我设置的是X-Authorization标头而不是Authorization。
然后,我创建了一个HTTP中间件类来选择此标头并设置我们的Authorization标头-
<?php
namespace App\Http\Middleware;
use Closure;
class XAuthorizationHeader
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next) {
// check if we have an X-Authorization header present
if($auth = $request->header('X-Authorization')) {
$request->headers->set('Authorization', $auth);
}
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在App\Http\Kernel.php $middleware数组中,首先添加此中间件。
protected $middleware = [
XAuthorizationHeader::class,
然后Authorization,当您将其作为X-Authorization标头传递时,任何其他代码都将能够检索该标头,就好像它实际上在那里一样。
| 归档时间: |
|
| 查看次数: |
1414 次 |
| 最近记录: |