Этот вопрос может дублироваться, но мне могут потребоваться некоторые указания.
Сценарий: После входа пользователя в Интернет контроллер входа в laravel вернет токен JWT клиенту и сохранит его в локальном хранилище браузера.После этого для каждой ссылки (href) или запроса, отправляемого на сервер, требуется заголовок авторизации с токеном (для проверки в промежуточном программном обеспечении).
У меня есть домашняя страница с:
<a href="{{ route('devices') }}" id="mylink">Click me</a>
<button type="submit" id="submit-button">Submit</button>
и
<script type="text/javascript">
$(document).ready(function(){
$.ajaxSetup({
headers: { "xCustomHeader": "xmyValue" }
});
$("#mylink").click(function(e) {
var link = $(this).attr('href'); // get the anchor href link
//attach the token from local storage
$.ajaxSetup({
headers: { "Authorisation ": "xxxxxx" }
});
//get request to web php route for GET request
//mostly problem here??
$.ajax({
method: "get",
url: link
});
});
</script>
Вот маршрут web.php:
Route::get('/devices', 'DevicesController@index')->name('devices');
Вот DevicesControllerкласс:
public function __construct()
{
$this->middleware('token.verify'); //check whether the token is provided in Authorisation header
}
public function index(Request $request)
{
$location = $this->getUnitLatLng();
return View::make("devices")->with($location); //return view
}
Вот класс промежуточного программного обеспечения TokenVerify:
public function handle($request, Closure $next, $guard = null)
{
try {
$token = $request->header('Authorisation');
if ($token) {
return $next($request);
}
} catch (Exception $ex) {
$response = array('success' => false, 'data' => null, 'detail' => array('message' => 'Messages::MSG_ERROR_500', 'error' => array($ex)));
return response()->json($response);
}
}
Проблема: похоже на то, что после входа на домашнюю страницу и нажатия кнопки привязки «Нажмите меня» промежуточное программное обеспечение неполучить токен заголовка авторизации.Ссылка Href не может прикрепить заголовок, поэтому я использовал ajax и получил представление.
но промежуточное ПО все еще не получает заголовок.есть мысли и исправлены?Как прикрепить токен заголовка к ссылке button / href?