Auth0\SDK\API\Helpers\TokenGenerator::generate PHP Method

generate() public method

public generate ( $scopes, $lifetime = 36000 )
    public function generate($scopes, $lifetime = 36000)
    {
        $time = time();
        $payload = array("iat" => $time, "scopes" => $scopes);
        $jti = md5(json_encode($payload));
        $payload['jti'] = $jti;
        $payload["exp"] = $time + $lifetime;
        $payload["aud"] = $this->client_id;
        if ($this->secret_base64_encoded) {
            $secret = base64_decode(strtr($this->client_secret, '-_', '+/'));
        } else {
            $secret = $this->client_secret;
        }
        $jwt = JWT::encode($payload, $secret);
        return $jwt;
    }

Usage Example

Example #1
0
 public function testTokenGenerationDecode()
 {
     $client_id = 'client_id_1';
     $client_secret = 'client_secret_1';
     $generator = new TokenGenerator(['client_id' => $client_id, 'client_secret' => $client_secret]);
     $jwt = $generator->generate(['users' => ['actions' => ['read']]]);
     $decoded = Auth0JWT::decode($jwt, $client_id, $client_secret);
     $this->assertObjectHasAttribute('aud', $decoded);
     $this->assertEquals($client_id, $decoded->aud);
     $this->assertObjectHasAttribute('scopes', $decoded);
     $this->assertObjectHasAttribute('users', $decoded->scopes);
     $this->assertObjectHasAttribute('actions', $decoded->scopes->users);
     $this->assertArraySubset(['read'], $decoded->scopes->users->actions);
 }
All Usage Examples Of Auth0\SDK\API\Helpers\TokenGenerator::generate