使用多个帐户登录时出错414

时间:2014-05-04 15:06:56

标签: python google-app-engine

我们正在使用GAE Python,并允许用户使用现有的Google帐户登录。登录代码很简单:

def _require_login(self, target_url="/"):
    if not self.user_bundle.user:
        return self.redirect(
            self.user_bundle.create_login_url(target_url),
            abort=True
        )

这会创建一个重定向到谷歌供用户登录,然后成功登录后会被发送回最初尝试导航的地方。

问题似乎是,如果用户同时登录了多个Google / GApps帐户(我们猜测3个或更多我可以成功重现它一次点击5个帐户),他们得到了一个"错误414"来自Google:

Google Error 414

我对该错误的简短搜索表明该URL太长,因为它是一个GET请求。几乎所有的建议都指出要使用POST。问题是,我们正在使用Google内置的create_login_url方法,据我所知,该方法并未提供指定POST而非GET的方法。< / p>

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

根据Google Cloud Platform's Twitter account

  

不幸的是,目前的修复方法只是注销某些帐户。 &gt;登录的4个帐户会使URL太长(> 2048字节)。

所以现在我们要么做一个预登录页面,它告诉用户注销足够的用户帐户以满足最大数量,或者找一个允许我们让用户登录的外部库无需绕过限制。