为什么我的python GAE create\u login\u url会将用户重定向到google设置个人信息页面
我像以前一样使用为什么我的python GAE create\u login\u url会将用户重定向到google设置个人信息页面,python,google-app-engine,redirect,jinja2,Python,Google App Engine,Redirect,Jinja2,我像以前一样使用create\u login\u url,将create\u login\u url(我的应用程序的任何url)的结果放入javascript块,以便页面可以使用它。这在本地很有效,在我相信之前也很有效 然而,我昨天刚刚发现,谷歌账户会将用户重定向到https://www.google.com/settings/personalinfo而不是用户登录后我提供的url 它返回的登录url如下:, https://www.google.com/accounts/ServiceLogi
create\u login\u url
,将create\u login\u url(我的应用程序的任何url)
的结果放入javascript块,以便页面可以使用它。这在本地很有效,在我相信之前也很有效
然而,我昨天刚刚发现,谷歌账户会将用户重定向到https://www.google.com/settings/personalinfo
而不是用户登录后我提供的url
它返回的登录url如下:,
https://www.google.com/accounts/ServiceLogin?service=ah&被动=真实&;继续=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp://name.of.my.project.appspot.com/<mpl=gm&;shdf=ChULEgZhaG5hbWUaCWd1ZXNzMjAxNAwSAmFoIhSWGiv4SgCRz7RQd7\u b7shxZMaj\u CgBMhT1jp44vsCkuJhUxaZgPHWB4Z\u 2TQ
看起来google帐户会将用户重定向到appengine.google.com/\u ah/conflogin
,然后conflogin页面会将用户重定向到我的应用程序页面
我试图直接连接到appengine.google.com/_ah/conflogin,但返回了500个错误
最终我锁定了金甲2号,这对我来说是不必要的。反正我可以把它关掉
谢谢 使用
flask.Markup
包裹字符串,使其不会被转义
from flask import Markup
#...
def main():
#...
login_url = Markup(users.create_login_url(any_url_of_my_app))
#...
return render_template(template_file_name, login_url=login_url)
使用这个
login\u-url
作为render\u-template
我在Django中遇到了同样的问题,同样,将autoescape=False
添加到Context
将解决这个问题
def home(request):
context = Context({
'login_url': users.create_login_url('/')
}, autoescape=False)
template = loader.get_template('index.html')
return HttpResponse(template.render(context))