jwt : add the cipher algorithm in parameter
git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@6117 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
18
jwt.php
18
jwt.php
@@ -35,11 +35,13 @@ class jwt
|
|||||||
* @param string|null $alg The algorithm to use to sign the token (default
|
* @param string|null $alg The algorithm to use to sign the token (default
|
||||||
* is HS256)
|
* is HS256)
|
||||||
* Allowed algorithms : HS256, HS512, HS384
|
* Allowed algorithms : HS256, HS512, HS384
|
||||||
* @param string|null $ckey The cipher key to encrypt the payload (24 chars
|
* @param string|null $ckey The cipher key to encrypt the payload
|
||||||
* length)
|
* @param string|null $cipherMethod The method to cipher the payload
|
||||||
|
* des-ede3-cbc by default
|
||||||
* @return string The Token
|
* @return string The Token
|
||||||
*/
|
*/
|
||||||
public function encode ($payload, $key, $alg = "HS256", $ckey = null)
|
public function encode ($payload, $key, $alg = "HS256", $ckey = null,
|
||||||
|
$cipherMethod = "des-ede3-cbc")
|
||||||
// {{{
|
// {{{
|
||||||
{
|
{
|
||||||
if (! key_exists ($alg, $this->supportedAlgs))
|
if (! key_exists ($alg, $this->supportedAlgs))
|
||||||
@@ -52,7 +54,7 @@ class jwt
|
|||||||
if ($ckey)
|
if ($ckey)
|
||||||
{
|
{
|
||||||
$encrypt = new encrypt ();
|
$encrypt = new encrypt ();
|
||||||
$payload = $encrypt->encrypt ($payload, $ckey);
|
$payload = $encrypt->encrypt ($payload, $ckey, $cipherMethod);
|
||||||
}
|
}
|
||||||
$segments[] = $this->urlsafeB64Encode ($payload);
|
$segments[] = $this->urlsafeB64Encode ($payload);
|
||||||
$toBeSigned = implode ('.', $segments);
|
$toBeSigned = implode ('.', $segments);
|
||||||
@@ -67,13 +69,15 @@ class jwt
|
|||||||
* @param string $key The key used to sign the message
|
* @param string $key The key used to sign the message
|
||||||
* @param array|null $allowedAlg List of allowed algorithms. If null, all the
|
* @param array|null $allowedAlg List of allowed algorithms. If null, all the
|
||||||
* algorithms defined in $this->supportedAlgs are allowed
|
* algorithms defined in $this->supportedAlgs are allowed
|
||||||
* @param string|null $ckey The cipher key to decrypt the payload (24 chars
|
* @param string|null $ckey The cipher key to decrypt the payload
|
||||||
* length)
|
* @param string|null $cipherMethod The method to cipher the payload
|
||||||
|
* des-ede3-cbc by default
|
||||||
* @return array the decoded payload
|
* @return array the decoded payload
|
||||||
* @throw Exception if the key is not able to verify the token with the
|
* @throw Exception if the key is not able to verify the token with the
|
||||||
* provided password
|
* provided password
|
||||||
*/
|
*/
|
||||||
public function decode ($jwt, $key, $allowedAlg = null, $ckey = null)
|
public function decode ($jwt, $key, $allowedAlg = null, $ckey = null,
|
||||||
|
$cipherMethod = "des-ede3-cbc")
|
||||||
// {{{
|
// {{{
|
||||||
{
|
{
|
||||||
if ($allowedAlg === null)
|
if ($allowedAlg === null)
|
||||||
|
|||||||
Reference in New Issue
Block a user