gpt4 book ai didi

javascript - AppEngine API 客户端身份验证在更新后停止工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:43 25 4
gpt4 key购买 nike

我有一个带有 Web 客户端和 Android 客户端的 Java 应用程序引擎后端。 Android 客户端使用生成的客户端库,网站使用 JavaScript 客户端库作为端点。

我们的应用引擎有 3 个环境:开发、暂存和生产。我已经将更新推送给开发人员,它正在应用程序和网站上运行。

现在我已经更新了登台环境的后端,但遇到了很多身份验证问题。应用程序的身份验证或签名没有任何变化,所以我不明白它是什么。

网站客户端

网站使用 G+ 登录,调用自定义应用引擎 API 的方法后,出现以下错误:

“访问未配置。之前未在项目 986034197583 中使用过或已禁用。通过访问 [url] 启用它,然后重试。如果您最近启用了此 API,请等待几分钟,以便该操作传播到我们的系统,然后重试。”

discovery#restDescription 成功并显示了方法。

Android 客户端

Android 应用还使用 G+ 登录并给出以下错误(在 Google Cloud Console 的日志中):

com.google.api.server.spi.auth.GoogleJwtAuthenticator 进行身份验证:不允许使用 ClientId:986034197583-51qasim2gmqql5vc652vk3u3lapegb6.apps.googleusercontent.com

该应用程序未使用另一个 keystore 进行签名,并且 SHA-1 哈希值相同(我检查过)。

API 管理器凭据

API 管理器中的凭据保持不变,不必更改。我检查了所有这些,它们看起来都是正确的。这对我来说毫无意义,除非谷歌今天发生了一些愚蠢的失败或其他事情。

API 资源管理器

当我使用 API Explorer 测试 API 时,它正在工作。 (apis-explorer.appspot.com)

API 凭据似乎不再链接到我的 API。我觉得很奇怪,你在任何地方都无法启用或禁用你自己的 API(只有 Google 的 API)。错误中激活 API 的链接不起作用,因为它是一个链接,就好像它是 Google API 一样。

最佳答案

原来是后端配置有问题。我仅将 appengine-web.xml 替换为暂存配置。但我没有更改后端的 clientID 和 weblientId,因为它们位于名为 Constants.java 的文件中,我必须在其中手动设置它是 DEV、STAGING 还是 PRODUCTION 后端 (aarggh)。这仍然被标记为 DEV。

我们确实需要一个用于该后端的构建脚本来防止出现此类情况。因为我是一名 Android 开发人员,所以我只知道 gradle。这个项目是由一位离开公司的Java开发人员开发的,现在我必须维护它。它使用 Maven,所以我不知道如何制作不同的构建目标,就像在 Android Studio 中使用不同的常量一样。

也许这里有人知道我如何制作一个类似的解决方案,例如使用 gradle 中的口味并生成 BuildConfig.java 常量。那太好了。

编辑我现在正在创建 Maven 配置文件,结合 maven-war-plugin 我可以为不同的构建类型创建不同的配置文件。这可用于不同的 appengine-web.xml请参阅:web.xml configuration based on Maven profile我现在仍在尝试寻找一些东西来在构建脚本中包含 ANDROID_CLIENT_ID 和 WEB_CLIENT_ID 的常量。我无法从文件加载它们,因为它们必须是常量,因为它们在 API 的属性中使用。我用 http://www.mojohaus.org/templating-maven-plugin/ 生成 Contstants.java 。我唯一无法开始工作的是,它在切换配置文件时不会自动生成它。我仍然需要手动启动 template:filter-sources。

关于javascript - AppEngine API 客户端身份验证在更新后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com