php Curl在标题中获取JWT

时间:2019-04-01 17:40:14

标签: php curl jwt

我有一个休息请求,我为PHP使用curl,但是我需要获取标头中的响应JWT来发出由JWT签名的新请求,而无需重新登录。每当我发出请求时,API都会返回一个新的JWT来执行另一个JWT,但我不知道如何从curl中获取它,有人知道如何做吗?

2 个答案:

答案 0 :(得分:0)

我需要在数组中启用CURLOPT_HEADER => true

答案 1 :(得分:0)

您必须知道标题元素的名称, 该函数返回assoc。数组,您只需写出JWT响应标头的名称。

...
$response = curl_exec($ch);

$headers = get_headers_from_curl_response($response);

function get_headers_from_curl_response($response)
{
    $headers = array();

    $header_text = substr($response, 0, strpos($response, "\r\n\r\n"));

    foreach (explode("\r\n", $header_text) as $i => $line)
        if ($i === 0)
            $headers['http_code'] = $line;
        else
        {
            list ($key, $value) = explode(': ', $line);

            $headers[$key] = $value;
        }

    return $headers;
}

此函数根据CURL响应生成数组。

最终变量将是这个

$myJWT = $headers['CUSTOM_HEADER_NAME_OF_JWT'];