Pregunta

Quiero hacer un multi-usuario de la solución cliente-servidor con Java Swing de espesor cliente como un front-end y Google AppEngine (Java uno) como un back-end.

El problema es que GAE sólo proporciona formularios basados en la web para entrar y salir, así que no hay forma trivial emplear Cuentas de Google cuenta en un cliente pesado.

Puede dar algunos consejos/sugerencias/ideas acerca de cómo permitir que un cliente pesado de inicio de sesión y cierre de sesión en un GAE webapp?

¿Fue útil?

Solución

Hay una manera para aplicaciones de cliente para autenticar contra las Cuentas de Google, pero no sé si el token de que usted reciba puede pasar AppEngine.Ver: ClientLogin de las Aplicaciones Instaladas

Otros consejos

Lo siento, sólo puedo responder de forma indirecta.Es posible iniciar sesión en una aplicación en appspot.com con una cuenta de Google.Sólo tienes que hacer todo lo que un navegador, incluyendo el mantener algunas de las cookies y ponerse en contacto con varios servidores como rebotan alrededor.

He jugado con esto por un muerto proyecto hace un par de meses y terminó con un script de shell que se ejecuta en su mayoría cURL para iniciar la sesión.Tal vez usted podría tomar de ella lo que necesita.

#!/bin/bash

my_app="set-this-to-my-app-id"
url="http://$my_app.appspot.com"
curl='curl --cookie-jar cookies'

if [ -z "$EMAIL" -o -z "$PASS" ]; then
    echo -n 'Email: '
    read EMAIL
    echo -n 'Pass: '
    read PASS
fi

rm -f cookies auth

echo 'Login'
$curl https://www.google.com/accounts/ClientLogin --output auth \
      -d "Email=$EMAIL" -d "Passwd=$PASS" \
      -d accountType=HOSTED_OR_GOOGLE     \
      -d source=$my_app                   \
      -d service=ah

. auth # XXX Be careful here. The output of the above
       # command happens to be Bash syntax too!
rm -f auth

echo 'Logging into app and getting cookie'
$curl "$url/_ah/login?continue=$url/console/&auth=$Auth"

echo
echo 'Example POST query'
$curl -X POST --cookie cookies "$url/some/path" -d 'foo=bar'

echo
rm -f cookies

según lo sugerido por @Jason DeFontes la ClientLogin proceso de autorización está abordando esta cuestión.

como un mínimo de esfuerzo enfoque alternativo, se podía integrar con base en la web (html) formas en su espesor cliente, es decir,el uso de un componente java que soporta html de representación (como un JEditorPane con un HTMLEditorKit instalado) y el presente de este componente dentro de su swing de la aplicación-por lo menos los usuarios no necesitan cambiar de ida y vuelta entre su aplicación y el navegador de esta manera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top