Symfony中是否有一种方法可以从HTTPRequest中获取JWT(字符串)标记并对其进行解码

gt0wga4j  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(110)

我是一个新的开发人员使用Symfony,我尝试工作在一个项目使用JWT,例如我采取字符串“JWT”输入从后请求,我需要解码它,并从中提取数据,我试图这样做:

{

     $post_data = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NjE3NzUwMDAsImV4cCI6MTY2MTc3ODYwMCwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoibGVmb3J0LmF1Z3VzdGVAZ2ltZW5lei5mciJ9.btG_nhid4qmDa3xMkjybZb7v8T49e3SLoWHlML8yCXizdC0GY1dDr1sli8zwPJGfjaATxGmq4tMSCxAG7pXwSwtb_KMtg54cf8IZULEIBHhpkgiObXWwZ9BwQFc3_KCFOnXhKft6mIljROrDv0VKUxG7UhCCwfPaAA2goQNqpeYTP0Zo0s6QGZ2UZ03vUGnZuSoqmRwIQ_23_q6E9BW-1fVjDHCyGBzxgSObfkDB27f_DbJA-GWejTj_15d1ZFHcPF30O8QkNN0IS4pw4LhWa6LGUO0pWKVl96oOSQ0PV6F1KpjkCbTX6x3rdTY3p_btyFT5gxgzfF4lx2sMRWJtmeWvmKhO22IVsxcGpqEm-XF-NrWSA7BNLzVXgWA3H8E6f7ienSWiVoqxV8sGodHygn8as7mGaUmwgKJ-o3xQ6E99zFFFduatJYORV3mdmASbVbIcLqoGISBDQ1bSl_UkCppVrG_xpIlYyoTTINbi68VSqPZwfQHTcQy8ZZmvls_ipxzB7VSXSRmDJQIN4_rkn8N7UF1eVBP_Vhoy5qtnZACLuk6RHB4Hww_5Hfbb46vHtijfcPxplhRSqJqlki0zIeJk3YltCQ7I98cn6XCVfVKr-Tzmmb_cGKS8qv9R13PZQmSbwPbtHQGUltcbgafbAgypgkp53znfy_DiCS_sWxA";

    $this->tokenStorageInterface->setToken($post_data);
    $decodedJwtToken =
    $this->jwtManager->decode($this->tokenStorageInterface->getToken());
    return $this->render('jwt/index.html.twig', [
        'decodedJwtToken' => $decodedJwtToken,
    ]);

}
有什么想法吗?
谢谢

pcww981p

pcww981p1#

我试过了,它对我很有效:

$post_data = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NjE3NzUwMDAsImV4cCI6MTY2MTc3ODYwMCwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoibGVmb3J0LmF1Z3VzdGVAZ2ltZW5lei5mciJ9.btG_nhid4qmDa3xMkjybZb7v8T49e3SLoWHlML8yCXizdC0GY1dDr1sli8zwPJGfjaATxGmq4tMSCxAG7pXwSwtb_KMtg54cf8IZULEIBHhpkgiObXWwZ9BwQFc3_KCFOnXhKft6mIljROrDv0VKUxG7UhCCwfPaAA2goQNqpeYTP0Zo0s6QGZ2UZ03vUGnZuSoqmRwIQ_23_q6E9BW-1fVjDHCyGBzxgSObfkDB27f_DbJA-GWejTj_15d1ZFHcPF30O8QkNN0IS4pw4LhWa6LGUO0pWKVl96oOSQ0PV6F1KpjkCbTX6x3rdTY3p_btyFT5gxgzfF4lx2sMRWJtmeWvmKhO22IVsxcGpqEm-XF-NrWSA7BNLzVXgWA3H8E6f7ienSWiVoqxV8sGodHygn8as7mGaUmwgKJ-o3xQ6E99zFFFduatJYORV3mdmASbVbIcLqoGISBDQ1bSl_UkCppVrG_xpIlYyoTTINbi68VSqPZwfQHTcQy8ZZmvls_ipxzB7VSXSRmDJQIN4_rkn8N7UF1eVBP_Vhoy5qtnZACLuk6RHB4Hww_5Hfbb46vHtijfcPxplhRSqJqlki0zIeJk3YltCQ7I98cn6XCVfVKr-Tzmmb_cGKS8qv9R13PZQmSbwPbtHQGUltcbgafbAgypgkp53znfy_DiCS_sWxA";
    $tokenParts = explode(".", $post_data);  $tokenHeader = base64_decode($tokenParts[0]);
    $tokenPayload = base64_decode($tokenParts[1]);
    $jwtHeader = json_decode($tokenHeader);
    $jwtPayload = json_decode($tokenPayload);
    dump($jwtPayload);
    die();

结果是:

现在我正在尝试从解码的JWT中获取密码

相关问题