Domanda

Voglio fare una soluzione client-server multi-utente con Java Swing thick client come un front-end e Google AppEngine (Java uno) come back-end.

Il problema è che GAE fornisce solo moduli web-based per l'accesso dentro e fuori, quindi non c'è modo banale per utilizzare Google Accounts caratteristiche in un thick client.

Si può dare alcuni consigli / suggerimenti / idee su come consentire un account di accesso thick client per e disconnessione da una webapp GAE?

È stato utile?

Soluzione

C'è un modo per le applicazioni client per l'autenticazione contro gli account Google, ma non so se il token si riceve può essere passato al AppEngine. Vedere: ClientLogin per le applicazioni installate

Altri suggerimenti

Mi dispiace, posso rispondere solo indirettamente. E 'possibile accedere a un app su appspot.com con un account Google. Non vi resta che fare tutto un browser sarebbe, compreso il mantenimento dei biscotti e contattando diversi server come si rimbalzano intorno.

Ho suonato in giro con questo per un progetto nato morto un paio di mesi fa e si è conclusa con uno script di shell che viene eseguito per lo più cURL login. Forse si potrebbe prendere da esso ciò che è necessario.

#!/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

come suggerito da @ Jason DeFontes la procedura di autorizzazione ClientLogin sta affrontando questo problema.

come un approccio alternativo minimo sforzo, si potrebbe incorporare il web (html) forma nel client di spessore, vale a dire utilizzare un componente Java che supporta HTML rendering (come un JEditorPane con una HTMLEditorKit installato) e presentare questa componente dentro il vostro swing app -. almeno utenti non avrebbe bisogno di passare avanti e indietro tra la vostra applicazione e il browser in questo modo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top