Viewing file: AuthHeaders.php (2.07 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* * This file is part of jwt-auth. * * (c) Sean Tymon <tymon148@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace Tymon\JWTAuth\Http\Parser;
use Illuminate\Http\Request; use Tymon\JWTAuth\Contracts\Http\Parser as ParserContract;
class AuthHeaders implements ParserContract { /** * The header name. * * @var string */ protected $header = 'authorization';
/** * The header prefix. * * @var string */ protected $prefix = 'bearer';
/** * Attempt to parse the token from some other possible headers. * * @param \Illuminate\Http\Request $request * @return null|string */ protected function fromAltHeaders(Request $request) { return $request->server->get('HTTP_AUTHORIZATION') ?: $request->server->get('REDIRECT_HTTP_AUTHORIZATION'); }
/** * Try to parse the token from the request header. * * @param \Illuminate\Http\Request $request * @return null|string */ public function parse(Request $request) { $header = $request->headers->get($this->header) ?: $this->fromAltHeaders($request);
if ($header !== null) { $position = strripos($header, $this->prefix);
if ($position !== false) { $header = substr($header, $position + strlen($this->prefix));
return trim( strpos($header, ',') !== false ? strstr($header, ',', true) : $header ); } }
return null; }
/** * Set the header name. * * @param string $headerName * @return $this */ public function setHeaderName($headerName) { $this->header = $headerName;
return $this; }
/** * Set the header prefix. * * @param string $headerPrefix * @return $this */ public function setHeaderPrefix($headerPrefix) { $this->prefix = $headerPrefix;
return $this; } }
|