mirror of
https://github.com/nullthoughts/laravel-data-sync.git
synced 2026-02-17 03:53:51 +00:00
Initial commit
This commit is contained in:
83
vendor/lcobucci/jwt/src/Signer/BaseSigner.php
vendored
Normal file
83
vendor/lcobucci/jwt/src/Signer/BaseSigner.php
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/**
|
||||
* This file is part of Lcobucci\JWT, a simple library to handle JWT and JWS
|
||||
*
|
||||
* @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
|
||||
*/
|
||||
|
||||
namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use Lcobucci\JWT\Signature;
|
||||
use Lcobucci\JWT\Signer;
|
||||
|
||||
/**
|
||||
* Base class for signers
|
||||
*
|
||||
* @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
|
||||
* @since 0.1.0
|
||||
*/
|
||||
abstract class BaseSigner implements Signer
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function modifyHeader(array &$headers)
|
||||
{
|
||||
$headers['alg'] = $this->getAlgorithmId();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function sign($payload, $key)
|
||||
{
|
||||
return new Signature($this->createHash($payload, $this->getKey($key)));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function verify($expected, $payload, $key)
|
||||
{
|
||||
return $this->doVerify($expected, $payload, $this->getKey($key));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Key|string $key
|
||||
*
|
||||
* @return Key
|
||||
*/
|
||||
private function getKey($key)
|
||||
{
|
||||
if (is_string($key)) {
|
||||
$key = new Key($key);
|
||||
}
|
||||
|
||||
return $key;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a hash with the given data
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @param string $payload
|
||||
* @param Key $key
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
abstract public function createHash($payload, Key $key);
|
||||
|
||||
/**
|
||||
* Performs the signature verification
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @param string $expected
|
||||
* @param string $payload
|
||||
* @param Key $key
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
abstract public function doVerify($expected, $payload, Key $key);
|
||||
}
|
||||
Reference in New Issue
Block a user