Google App Engine登录网址重定向phonegap

时间:2014-02-06 05:03:42

标签: google-app-engine redirect cordova google-login

我正在编写一个Cordova(PhoneGap)应用程序,该应用程序使用Google App Engine后端进行登录和数据库。 Google App Engine似乎可以处理应用程序中的所有URL,但这不是Cordova的工作方式。我正在使用users.create_login_url()将用户定向到Google的登录页面。此函数的第一个参数是重定向URL到完整URL或相对于应用程序的位置。我可以输入'/home'或某些网址,例如'http://google.com',但我希望应用程序重定向回用户单击按钮登录时我所在的Cordova页面。我输入了'http://localhost',但我不确定这是否会按照我期望的方式运行。这会起作用吗,还是我需要做别的事?

基本上,我使用jQuery.ajax()生成登录请求:

$.ajax({
    type:'POST',
    url:'http://localhost:8090/login', //I am running this in the GAE developer runtime
    success:function(data) {
        window.location = data;
    }
});

上面的代码应该调用我在GAE中创建的Login类中的post()方法。该方法中的代码执行此操作:

def post(self):
    user = users.get_current_user()
    if user:
        self.response.write("userAlreadyLoggedIn")
    else:
        self.response.write(users.create_login_url("http://localhost")

我还没有测试过这个,但忽略了我可能遇到的任何无关的错误,这会做我上面描述的吗?

1 个答案:

答案 0 :(得分:0)

您需要重定向,然后将登录URL写入响应对象。

self.redirect("/home")

https://developers.google.com/appengine/docs/python/tools/webapp/redirects

另外,webapp2文档值得一看:

http://webapp-improved.appspot.com/api/webapp2.html#webapp2.redirect