我在Android Studio中设置了一些Cloud端点,并实现了一个Authenticator(com.google.api.server.spi.config.Authenticator),每次调用云端点都会调用它。
现在我想使用我的身份验证器通过GiTkit(Google Identity Toolkit)检查Android登录。当我调试我的端点时,我可以使用像http://localhost:8080/_ah/api/userApi/v1/login/这样的本地URL来检查它们。 在Android模拟器中,本地环回地址为10.0.2.2,因此URL为http://10.0.2.2:8080/_ah/api/userApi/v1/login/(在Android浏览器中工作)。
但我无法在Google开发者控制台(Web应用程序的客户端ID)中将授权重定向URI从localhost更改为此URL。 (无效的重定向:http://10.0.2.2:8080/_ah/api/userApi/v1/login/必须以公共顶级域名(例如.com或.org)结尾。)
如何在Android模拟器(或手机)中与GiTkit一起调试我的Cloud Endpoint?
答案 0 :(得分:1)
我从Derek Salama那里得到答案,谷歌小组无法做到这一点:https://groups.google.com/forum/#!topic/google-identity-toolkit/RNyW8xN7q7E
嗨,马丁,
您是正确的,客户端ID的重定向URI不能是IP 地址,因此http://10.0.2.2:8080/不起作用 http://localhost:8080确实如此。
我不知道任何可以让你从中访问localhost的魔法 不使用IP地址的Android模拟器。开发时用 Identity Toolkit和Cloud Endpoints,我首先测试Authenticator 使用端点API资源管理器实现(使用curl后) 获得有效的ID令牌)。一旦我对认证者有信心 工作,我部署到appengine并测试Android应用程序的实时 实例
我现在根据https://developers.google.com/identity/toolkit/web/setup-frontend设置了一个localhost示例网站,以便于调试。