standard google flexible features engine compute change app google-app-engine openid

google-app-engine - flexible - google app engine standard environment



Asegure remote_api en el motor de la aplicaciĆ³n con OpenID (1)

Saludos esto

http://code.google.com/intl/en-US/appengine/articles/openid.html

ADVERTENCIA: al momento de escribir esto, OpenID no es compatible si su aplicación se ejecuta en modo seguro usando HTTPS.

Considera this en la última revisión en la versión 1.3.7

def ConfigureRemoteDatastore(app_id, path, auth_func, servername=None, rpc_server_factory=appengine_rpc.HttpRpcServer, rtok=None, secure=False): """Does necessary setup to allow easy remote access to an AppEngine datastore. Either servername must be provided or app_id must not be None. If app_id is None and a servername is provided, this function will send a request to the server to retrieve the app_id. Args: app_id: The app_id of your app, as declared in app.yaml. path: The path to the remote_api handler for your app (for example, ''/remote_api''). auth_func: A function that takes no arguments and returns a (username, password) tuple. This will be called if your application requires authentication to access the remote_api handler (it should!) and you do not already have a valid auth cookie. servername: The hostname your app is deployed on. Defaults to <app_id>.appspot.com. rpc_server_factory: A factory to construct the rpc server for the datastore. rtok: The validation token to sent with app_id lookups. If None, a random token is used. secure: Use SSL when communicating with the server.

Entonces, ¿lo intentaste con un nuevo SDK?

Anteriormente, hice una question sobre el uso del remote_api del motor de aplicaciones con openID, y la respuesta funcionó bien, de forma segura e insegura. Sin embargo, en algún momento poco después, algo en el motor de la aplicación cambió, y la solución ya no funcionó de forma segura, es decir, lo siguiente

remote_api_stub.ConfigureRemoteDatastore(app_id=app_id, path=''/remote_api'', auth_func=auth_func, servername=host, secure=True)

dejó de funcionar (siempre devolviendo 302) y necesitaba eliminar el argumento de seguridad para que funcione.

El lanzamiento del 1.3.5 SDK prometió que ''los comandos Remote API pueden enviarse a través de HTTPS o HTTP'', lo cual me confundió, ya que tenía la impresión de que proporcionar el argumento ''secure = True'' ya me había dado esto, basado en esta discusión

Mi sospecha es que fue el lanzamiento de esta característica lo que causó que el argumento ''seguro'' dejara de funcionar. Así que la primera parte de mi pregunta - ¿Estaba ejecutando comandos remote_api de forma segura utilizando el argumento ''secure = True'', antes del lanzamiento de 1.3.5?

Una vez que el hack de cookies dejó de funcionar de forma segura, probé la solución de Nick Johnson incluida en la misma pregunta, pero con esto también, no pude proporcionar ''secure = True'', obteniendo la misma respuesta 302.

¿Qué debo hacer para ejecutar remote_api de forma segura con openID? ¿Incluye 1.3.5 nuevas capacidades al respecto y cómo los uso? Aclamaciones,

Colin