Estoy utilizando un proxy inverso para habilitar ssl en un dominio personalizado. El proxy funciona bien en las páginas públicas, sin embargo, cuando el usuario intenta acceder a un directorio de login_required, la URL de inicio de sesión las cambia a mi dominio de appspot después del inicio de sesión.Google App Engine: Reverse Proxy + OpenID, los usuarios se redirigen a dominio de appspot después de iniciar sesión
¿Hay alguna manera de mantener a los usuarios en el dominio personalizado?
Aquí es mi manejador de entrada:
class OpenIDLoginHandler(webapp.RequestHandler):
def get(self):
domain = self.request.get('domain')
continue_url = self.request.GET.get('continue')
if not continue_url:
continue_url = 'https://my_domain/login_required_directory/'
if domain:
self.redirect(users.create_login_url(dest_url=continue_url,
_auth_domain=None,federated_identity=domain))
else:
login_url = users.create_login_url(dest_url=continue_url,
federated_identity='https://www.google.com/accounts/o8/id')
self.redirect(login_url)
application = webapp.WSGIApplication(
[
('/_ah/login_required', OpenIDLoginHandler)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
He intentado sobrescribir la URL de destino de la llamada users.create_login_url - la función sigue devolviendo un login_url con el dominio appspot como el parámetro 'continuar', como esto:
"https: // appspot_domain/_ah/login_redir ClaimID = https: //www.google.com/accounts/o8/id & continúan = https: // appspot_domain"
intenté simplemente reescribiendo la vuelta login_url y re colocando el parámetro 'continuar' con mi dominio personalizado, pero esto dio como resultado un error 404.
¿Alguna idea?
¡Gracias de antemano!
Puede establecer la URL continua en una página en el dominio de aplicaciones que emite un redireccionamiento final al dominio proxy. Sin embargo, es posible que tengas un problema con las cookies. Su cookie de autenticación siempre se establecerá en appspot.com; el cliente no pasará la cookie a su dominio proxy. –
@Drew, lamentablemente tiene razón acerca de la cookie de autenticación. Cuando se utiliza el dominio proxy, la sesión del usuario no se reconoce, por lo que me temo que una redirección después del inicio de sesión daría lugar a un bucle de redirección infinito. Parece que podría solucionar este problema manejando los redireccionamientos de inicio de sesión directamente desde el servidor proxy, pero no puedo encontrar ninguna documentación sobre '/ _ah/login_redir' que me ayude a duplicar, o nunca entender completamente, su funcionalidad. –