我遇到了Google App Engine中用户API的OpenID选项问题,该问题仅限于在自定义域上运行的应用。当我测试我的应用程序时,它在appspot域和localhost调试器中工作正常但在我通过控制面板添加的自定义应用程序崩溃。我设法通过请求在Google已弃用的OpenID 2 API上注册域名来使用Google帐户登录,但任何其他OpenID帐户的登录信息仍然会崩溃到应用引擎500页面。似乎应用引擎API并不期待来自我的自定义域的调用。
我可以获取查找问题所需的任何屏幕截图或代码段。我也在Java运行时运行它,并且目前在免费配额中使用它(因此我无法联系Google的支持)。我确实设法通过将尝试使用非Google帐户登录的用户重定向到我的appspot域来设置临时工作,但这远非理想。有什么建议?
答案 0 :(得分:0)
Mihail帮助我在App Engine论坛here找到了解决此问题的方法,所以我想我会在这里添加它以帮助遇到此问题的任何人。
如果您将自定义域名附加到URL生成调用,请执行以下操作:
String LogInURL = userService.createLoginURL("http://www.example.com/main.jsp", null, openid_URL, null);
它将允许OpenID调用在自定义域和appspot域上进行。这将导致localhost调试器在登录时重定向到您的自定义域,因此必须将其更改为此以进行调试:
String LogInURL = userService.createLoginURL("/main.jsp", null, openid_URL, null);