I know this isn't a new introduction, but I'd probably have lost the else with something like

    if (!token.token)
        return token.generateToken(callback);
    callback(null, token);

Or perhaps the other way round. But it's really just a stylistic thing.