Fix JWT handling for API access when logging in

This commit is contained in:
Dane Everitt 2018-05-28 14:59:48 -07:00
parent aa61afb58f
commit a1444b047e
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
7 changed files with 143 additions and 68 deletions

View file

@ -0,0 +1,36 @@
<?php
namespace Pterodactyl\Traits\Helpers;
use Lcobucci\JWT\Signer;
use Illuminate\Support\Str;
trait ProvidesJWTServices
{
/**
* Get the signing key to use when creating JWTs.
*
* @return string
*/
public function getJWTSigningKey(): string
{
$key = config()->get('jwt.key', '');
if (Str::startsWith($key, 'base64:')) {
$key = base64_decode(substr($key, 7));
}
return $key;
}
/**
* Provide the signing algo to use for JWT.
*
* @return \Lcobucci\JWT\Signer
*/
public function getJWTSigner(): Signer
{
$class = config()->get('jwt.signer');
return new $class;
}
}