Как передать токен на предъявителя для тестирования API с использованием phpunit и Liip - PullRequest
2 голосов
/ 08 апреля 2019

это то, что я делаю

Я делаю первый звонок, чтобы получить токен

$client->request('POST', '/api/login_check', [], [],
        ['CONTENT_TYPE' => 'application/json'],
        json_encode(
            [
                "username" => $user->getUsername(),
                "password" => 'password',
            ]
        )
    );

    $response = $client->getResponse();
    return json_decode($response->getContent())->token;

затем второй, чтобы использовать его

        $client->request('GET', '/api/my_endpoint', [], [], [
            'headers' => [
                'Authorization' => $token
            ]
        ]);

$ token - действительный токен (протестирован с использованием почтальона), например, «Bearer SUPERLONGSTRING», но я получаю сообщение об ошибке

JWT Token not found

спасибо

Ответы [ 2 ]

1 голос
/ 08 апреля 2019
 $client->request('GET', '/api/my_endpoint', [], [], [
                 'HTTP_AUTHORIZATION' => "{$token}",
                 'CONTENT_TYPE' => 'application/ld+json',
                 'HTTP_ACCEPT' => 'application/ld+json'
        ]);

Для этого вы должны использовать заголовок HTTP_AUTHORIZATION. Попробуйте приведенный выше код. Также вам не нужен вложенный массив для заголовков.

Кроме того, поскольку мы не видим формат вашего токена, имейте в виду, что формат носителя:

Носитель (пробел) остальная часть жетона.

0 голосов
/ 09 апреля 2019
    $client->request('GET', '/api/my_endpoint', [], [], [
        'headers' => [
            'Authorization' => 'bearer '.$token
        ]
    ]);
...