ローカル開発サーバーで App Engine の UserService を使用しようとしていますが、期待どおりに動作しません。質問への回答を求めてフォーラムを検索しましたが、特に問題に対処するものは見つかりませんでした。
最初に、次のように UserService からログイン URL を取得します。
UserService userService = UserServiceFactory.getUserService();
if(userService.isUserLoggedIn())
String loginURL = userService.createLoginURL("/mycallbackservlet");
else
... do something else
ユーザーが最初にログインしていないと仮定して、(成功した) ログイン後にリダイレクトされる宛先 URL として「mycallbackservlet」を提供します。ログイン手順を開始するには、次のようにクライアント側で GWT ウィンドウを開きます。
Window.open(loginURL, "Bla", props);
loginURL は上記で作成したものです。任意のユーザーを入力できるローカル開発サーバーのシミュレートされたログイン画面が表示されます。OKをクリックするだけです。これで、コールバック サーブレットが (予想どおり) 呼び出されましたが、UserService オブジェクトを再度取得しても、ログインしているユーザーが表示されません。
UserServiceFactory.getUserService().isUserLoggedIn()
「偽」を返します。どうすればいいの?これは典型的な開発サーバーの動作ですか、それとも何か間違っていますか? Window.open() を使用せずに、別の方法で最初の URL を開く必要がありますか?
どんな提案でも大歓迎です!