generate a long-lived token