diff options
author | Klaus Weidenbach <Klaus.Weidenbach@gmx.net> | 2017-03-20 00:34:20 +0100 |
---|---|---|
committer | Klaus Weidenbach <Klaus.Weidenbach@gmx.net> | 2017-03-20 00:43:09 +0100 |
commit | 8b4b1350369714a832588c74df3f261b538ec566 (patch) | |
tree | 5aca6c06d787bea810dfe0c4736834109fa67e09 /vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php | |
parent | d2c971eda99fadb7515fb1e1ea4bd645a52513bd (diff) | |
download | volse-hubzilla-8b4b1350369714a832588c74df3f261b538ec566.tar.gz volse-hubzilla-8b4b1350369714a832588c74df3f261b538ec566.tar.bz2 volse-hubzilla-8b4b1350369714a832588c74df3f261b538ec566.zip |
:arrow_up: Update bshaffer/oauth2-server-php library.
Manage oauth2-server-php library with composer.
Folder ./library/oauth2/ can be removed and includes removed with autoloading.
Diffstat (limited to 'vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php')
-rw-r--r-- | vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php new file mode 100644 index 000000000..1b527e0a0 --- /dev/null +++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php @@ -0,0 +1,47 @@ +<?php + +namespace OAuth2\Encryption; + +/** + * Bridge file to use the firebase/php-jwt package for JWT encoding and decoding. + * @author Francis Chuang <francis.chuang@gmail.com> + */ +class FirebaseJwt implements EncryptionInterface +{ + public function __construct() + { + if (!class_exists('\JWT')) { + throw new \ErrorException('firebase/php-jwt must be installed to use this feature. You can do this by running "composer require firebase/php-jwt"'); + } + } + + public function encode($payload, $key, $alg = 'HS256', $keyId = null) + { + return \JWT::encode($payload, $key, $alg, $keyId); + } + + public function decode($jwt, $key = null, $allowedAlgorithms = null) + { + try { + + //Maintain BC: Do not verify if no algorithms are passed in. + if (!$allowedAlgorithms) { + $key = null; + } + + return (array)\JWT::decode($jwt, $key, $allowedAlgorithms); + } catch (\Exception $e) { + return false; + } + } + + public function urlSafeB64Encode($data) + { + return \JWT::urlsafeB64Encode($data); + } + + public function urlSafeB64Decode($b64) + { + return \JWT::urlsafeB64Decode($b64); + } +} |