我如何才能让Google Cloud Endpoints使用Firebase身份验证(非Google帐户)进行身份验证呼叫?

我有一个使用Google Cloud Endpoints框架设置的API。其中一个端点需要auth,这显然可以通过Android上的Firebase Auth完成。但给出here的示例适用于通过Firebase提供的Google帐户。我只是使用电子邮件和密码。所以我使用的是HttpRequestInitializer here而不是GoogleAccountCredential。但是,当我试图对经认证的终点,我收到了503响应与服务器产生下面的堆栈跟踪呼叫:我如何才能让Google Cloud Endpoints使用Firebase身份验证(非Google帐户)进行身份验证呼叫?

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)

...

任何想法?

Firebase身份验证本身设置正确,因为我可以将Firebase实时数据库调用到需要身份验证的区域。并且终端设置正确,因为我可以对我的其他终端(目前不需要身份验证)进行未经身份验证的呼叫。这只是两个被打破的组合。

回答:

如您在Google Groups post中所述,您需要从配置中删除SystemServiceServlet,并从列表中删除com.google.appengine:appengine-endpoints依赖项。

以上是 我如何才能让Google Cloud Endpoints使用Firebase身份验证(非Google帐户)进行身份验证呼叫? 的全部内容, 来源链接: utcz.com/qa/266508.html

回到顶部