1

我在 Android Studio 中设置了一些 Cloud Endpoints 并实现了一个 Authenticator (com.google.api.server.spi.config.Authenticator),每次调用云端点时都会调用它。

现在我想使用我的身份验证器通过 GiTkit(Google 身份工具包)检查来自 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 模拟器(或手机)中调试我的 Cloud Endpoint 和 GiTkit?

4

1 回答 1

1

我从 Derek Salama 那里得到了一个答案,即在 google 组上是不可能的:https ://groups.google.com/forum/#!topic/google-identity-toolkit/RNyW8xN7q7E

嗨,马丁,

您是正确的,客户端 ID 的重定向 URI 不能是 IP 地址,因此http://10.0.2.2:8080/不起作用,而 http://localhost:8080起作用。

我不知道有什么魔法可以让您在不使用 IP 地址的情况下从 Android 模拟器访问 localhost。在使用 Identity Toolkit 和 Cloud Endpoints 进行开发时,我首先使用 Endpoints API 资源管理器测试 Authenticator 实现(在使用 curl 获取有效的 ID 令牌之后)。一旦我确信身份验证器正在工作,我就会部署到 appengine 并针对实时实例测试 Android 应用程序。

我现在已经根据https://developers.google.com/identity/toolkit/web/setup-frontend设置了一个 localhost 示例站点,以便于调试。

于 2015-06-23T18:40:49.413 回答