public function verifyByToken($tokenString)
    {
        $this->loadModel('Wasabi/Core.Tokens');

        if (!$this->request->is('get')) {
            throw new MethodNotAllowedException();
        }

        /** @var Token $token */
        if ($tokenString && (bool)($token = $this->Tokens->findByToken($tokenString)) &&
            !$token->hasExpired() && !$token->used
        ) {
            /** @var User $user */
            $user = $this->Users->get($token->user_id);

            /** @var Connection $connection */
            $connection = $this->Users->connection();
            $connection->begin();
            if ($this->Users->verify($user)) {
                $this->Tokens->invalidateExistingTokens($user->id, TokensTable::TYPE_EMAIL_VERIFICATION);
                $connection->commit();
            } else {
                $connection->rollback();
            }
        }

        $this->render(null, 'Wasabi/Core.support');
    }