【发布时间】:2014-01-03 07:21:21
【问题描述】:
我有 GAE 应用程序。它使用 Oauth 2.0 协议。我目前使用 Java 库。 目前,我手动切换重定向 URL。
当我在 localhost 上进行测试时,我使用 localhost:8888/oauth2callback
当我部署应用程序时,我设置了example.appspot.com/oauth2callback.
那么我如何检测应用程序是在本地主机上运行还是已部署?
【问题讨论】:
我有 GAE 应用程序。它使用 Oauth 2.0 协议。我目前使用 Java 库。 目前,我手动切换重定向 URL。
当我在 localhost 上进行测试时,我使用 localhost:8888/oauth2callback
当我部署应用程序时,我设置了example.appspot.com/oauth2callback.
那么我如何检测应用程序是在本地主机上运行还是已部署?
【问题讨论】:
根据documentation,您可以执行以下操作
您可以检查系统属性com.google.appengine.runtime.environment 的值以确定它是“生产”还是“开发”。
来自文档的示例代码:
if (SystemProperty.environment.value() ==
SystemProperty.Environment.Value.Production) {
// The app is running on App Engine...
}
等等。
在 Python 方面,请查看以下 documentationsn-p:
【讨论】:
可以使用 oAuthService 方法来检测 localhost 环境
[...] 在本地开发服务器上,oauth.getCurrentUser() 总是返回 电子邮件设置为“example@example.com”和用户 ID 设置的用户对象 为 0,无论是否发出了有效的 OAuth 请求。 [...]
【讨论】: