После обновления до конечных точек V2 мой API, который использовал @peerAuthenticator, не смог проверить одноранговый узел. Я провел тесты с @Authenticator и столкнулся с той же проблемой, проигнорировав выполнение.
Я создал репозиторий на GitHub для тестирования с пустым приложением.
Репозиторий был создан с помощью шагов, описанных в документации Google.
После запуска приложения
mvn appengine:run
вы можете запросить 3 конечные точки:- http://localhost:8080/_ah/api/myapi/v1/firstApiMethod (without any auth)
- http://localhost:8080/_ah/api/myapi/v1/b (с
@authenticator
) - http://localhost:8080/_ah/api/myapi/v1/c (с
@peerAuthenticator
)
API
@Api(name = "myapi", version = "v1") public class YourFirstAPI { @ApiMethod(name = "firstApiMethod", path = "firstApiMethod", httpMethod = HttpMethod.GET) public TestObject a() { return new TestObject(); } @ApiMethod(name = "b", path = "b", httpMethod = HttpMethod.GET, authenticators = {Authenticator.class}) public TestObject b() { return new TestObject(); } @ApiMethod(name = "c", path = "c", httpMethod = HttpMethod.GET, peerAuthenticators = PeerAuthenticator.class) public TestObject c() { return new TestObject(); } }
Аутентификатор
public class Authenticator implements com.google.api.server.spi.config.Authenticator { @Override public User authenticate(HttpServletRequest arg0) throws ServiceException { throw new ServiceException(401, "unauthorized"); } }
PeerAuthenticator
public class PeerAuthenticator implements com.google.api.server.spi.config.PeerAuthenticator{ @Override public boolean authenticate(HttpServletRequest arg0) { // TODO Auto-generated method stub return true; } }
У кого-нибудь была такая же проблема? Любое решение для этого?