我正在使用GAE远程API访问我的应用程序的数据存储。使用remote_api_stub.ConfigureRemoteApi进行对GAE的身份验证,其中包含一个返回用户名和密码的身份验证函数。
是否有一种使用访问令牌进行身份验证的方法,例如OAuth或OAuth 2.0?
是否有一种使用访问令牌进行身份验证的方法,例如OAuth或OAuth 2.0?
对于已配置使用两步验证的Google账户,有一个解决方案。
目前,您可能会看到“BadAuthentication InvalidSecondFactor”错误提示,因为您无法从shell正确登录。
为了解决这个问题,您需要一个应用密码,该密码授权应用程序访问您的帐户资源。按照教程使用生成的密码和目标App Engine应用程序管理员的用户名作为Remote API的凭据。
更新:
此外,您可以查看来自AppEngine SDK的remote_api_stub.py文件。您将找到一系列名为_ConfigureRemoteApiWith*(注意前导下划线)的方法,例如:
方法本身有很好的文档说明,请查看它们的docstrings。它们将让您使用比remote_api_stub.ConfigureRemoteApi()提供的更安全的方法进行身份验证。
你不能使用OAuth2来连接remote_api_stub/shell到你的应用程序。这个选项没有提供。
rtok
仅用于app_id
查找。 (来自ConfigureRemoteApi
文档字符串) 并且在下面的代码中,你可以看到:if not app_id: app_id = GetRemoteAppIdFromServer(server, path, rtok)
它似乎只有在检查给定的app_id
是否存在于 App Engine 上时才有用,而不是用于远程 API shell 的实际身份验证。 - Bodhi