0
我已經在php中創建了JWT。我已經找到了從以下鏈接創建JWT的方法。PHP中的反向JWT
JWT (JSON Web Token) in PHP without using 3rd-party library. How to sign?
<?php
//build the headers
$headers = ['alg'=>'HS256','typ'=>'JWT'];
$headers_encoded = base64_encode(json_encode($headers));
//build the payload
$payload = ['sub'=>'1234567890','name'=>'John Doe', 'admin'=>true];
$payload_encoded = base64_encode(json_encode($payload));
//build the signature
$key = 'secret';
$signature = hash_hmac('SHA256',"$headers_encoded.$payload_encoded",$key,true);
$signature_encoded = base64_encode($signature);
//build and return the token
$token = "$headers_encoded.$payload_encoded.$signature_encoded";
echo $token;
?>
現在我如何可以驗證它。我從Android發送令牌,但我想驗證這是否是正確的令牌。那麼在完成請求之前,我該如何在代碼中完成呢?
我應該在數據庫中存儲令牌嗎?
是否爲api提供安全性的正確方法?
使用庫。 https://github.com/lcobucci/jwt –
我知道有庫可用,但我想手動執行。我認爲如果jwt令牌生成是可能的,那麼反轉它也是可能的。 https://jwt.io可以完成這項任務。 –
「我想手動完成」 - > http://www.cryptofails.com/post/75204435608/write-crypto-code-dont-publish-it –