$ response-> headers-> set не работает в Laravel? - PullRequest
0 голосов
/ 02 ноября 2018

В моем проекте для разработки используется Laravel + JWT + dingo, JWT хочет получить токен обновления промежуточного программного обеспечения, чтобы в процессе тестирования найти такое промежуточное программное обеспечение в сети

public function handle($request, Closure $next){ 
    $this->checkForToken($request);

    try {
        if ($this->auth->parseToken()->authenticate()) {
            return $next($request);
        }
        throw new UnauthorizedHttpException('jwt-auth', 'sorry');
    } catch (TokenExpiredException $exception) {
        try {
            $token = $this->auth->refresh();
            Auth::guard('api')->onceUsingId($this->auth->manager()->getPayloadFactory()->buildClaimsCollection()->toPlainArray()['sub']);
        } catch (JWTException $exception) {
            throw new UnauthorizedHttpException('jwt-auth', $exception->getMessage());
        }
    }
    return $this->setAuthenticationHeader($next($request), $token);
}

И я проверил мой API на почтальоне, но я не могу получить авторизацию заголовков только

Server →nginx/1.10.3 (Ubuntu)
Content-Type →application/json
Transfer-Encoding →chunked
Connection →keep-alive
WWW-Authenticate →jwt-auth
Cache-Control →no-cache, private
Date →Fri, 02 Nov 2018 09:55:42 GMT

Функция setAuthenticationHeader:

$response->headers->set('Authorization', 'Bearer '.$token);

почему это не работает? наконец я использую:

        return $next($request)->withHeaders([
            'Authorization'=> 'Bearer '.$token,
        ]);

и я получил то, что хотел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...