将auth部分提炼出来为一个engine‘