增加authenticate方法，以及对它的测试