builder() ->issuedAt(new DateTimeImmutable) ->withClaim('client_id', $data['client_id']) ->withClaim('me', $data['me']) ->withClaim('scope', $data['scope']) ->withClaim('nonce', bin2hex(random_bytes(8))) ->getToken($config->signer(), $config->signingKey()); dispatch(new AddClientToDatabase($data['client_id'])); return $token->toString(); } }