シッククライアントでGoogle AppEngineの統合
-
18-09-2019 - |
質問
私は、Javaでマルチユーザクライアントサーバソリューションは、バックエンドとしてフロントエンドやGoogle AppEngineの(Javaの1)としてシッククライアントをスイングしたい。
問題は、GAEは、ログインおよびログアウトのための唯一のWebベースのフォームを提供しますので、Googleはシッククライアントの機能をアカウント採用するいかなる些細な方法はありませんということです。
あなたはGAEのWebアプリケーションからシッククライアントへのログインとログアウトを許可する方法についていくつかのアドバイス/ヒント/アイデアを与えることができますか?
解決
があり、クライアントアプリケーションは、Googleアカウントに対して認証するための方法ですが、あなたが受け取るトークンがバックのAppEngineに渡すことができるかどうかはわかりません。参照してください:のClientLoginをインストールされているアプリケーションのためのの
他のヒント
私は申し訳ありませんが、私は間接的にしかあなたに答えることができます。 Googleアカウントでappspot.com上のアプリにログインすることが可能です。あなただけのいくつかのクッキーを維持し、彼らはあなたの周りをバウンスとして複数のサーバを接触させることを含む、ブラウザが希望のすべてを、しなければならない。
私は数ヶ月前、死産のプロジェクトのためにこれで遊んと、ほとんどのログインにカールを実行するシェルスクリプトになってしまった。おそらく、あなたはあなたが必要なもの、それから取ることができます。
#!/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
ClientLoginの認証プロセスは、この問題に取り組んでいる@Jason DeFontesによって提案されます。
、最小限の努力別のアプローチとして、あなたはすなわち(インストールJEditorPane
とHTMLEditorKit
のような)HTMLのレンダリングをサポートするJavaコンポーネントを使用して、このコンポーネントを提示し、あなたのシッククライアントにWebベースの(HTML)フォームを埋め込むことができあなたのスイングのアプリ内 - 少なくともユーザーがあなたのアプリとブラウザの間でこのように前後を切り替える必要はありません。