I've got an API set up with Google Cloud Endpoints Frameworks. One of the endpoints requires auth which can apparently be done with Firebase Auth on Android. But the example given here is for Google accounts through Firebase. I'm just using email and password. So I'm using the HttpRequestInitializer here instead of the GoogleAccountCredential one. But when I attempt to make calls to the authenticated endpoint I get a 503 response with the server producing the following stack trace:
Uncaught exception from servlet
java.lang.IllegalStateException: method_info is not set in the request
at com.google.api.server.spi.auth.EspAuthenticator.authenticate(EspAuthenticator.java:67)
at com.google.api.server.spi.request.Auth.authenticate(Auth.java:85)
at com.google.api.server.spi.request.ServletRequestParamReader.getUser(ServletRequestParamReader.java:157)
at com.google.api.server.spi.request.ServletRequestParamReader.deserializeParams(ServletRequestParamReader.java:114)
at com.google.api.server.spi.request.ServletRequestParamReader.read(ServletRequestParamReader.java:261)
at com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:354)
at com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:113)
at com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
...
Any ideas?
Firebase Auth itself is set up correctly because I can make calls to the Firebase real-time database to areas that need auth. And the endpoint is set up correctly because I can make unauthenticated calls to my other endpoints (which don't currently need authentication). It's just the combination of the two that is broken.