私のアプリは Oauthed Cloud Endpoints を使用しており、本番環境で正常に動作しています。
私の問題は、ローカル devserver では、通常の認証、アクセス コードなどを実行し、有効な認証済みユーザーを持っているにもかかわらず、ユーザー ユーザーが常にexample@example.comに設定されていることです。
example@example.com は、oauth が適切に機能する前に oauth エンドポイントをテストするのに役立ちますが、アプリが機能しているので、実際のユーザーがそこにいることを確認したいと思います。
具体的には、私のエンドポイントメソッドは
@ApiMethod(name = "insertEmp"), etc
public Emp insertEmp(User user, Emp emp) {
System.out.println(user.getEmail()); // (A) log "appengine" email
System.out.println(OAuthServiceFactory.getOAuthService().getCurrentUser().getEmail(); // (B) log authed email
...
展開すると、すべて問題なく、(A) と (B) の両方で認証済みユーザー (my.email@gmail.com) がログに記録されます。
ローカル devserver でテストすると、(A) Oauth シーケンスを経て有効な認証済みユーザーがいるにもかかわらず、常に "example@example.com" がログに記録され、(B) my.email@gmail.com がログに記録されます。したがって、忠実度の高いテストを行うことができます。ユーザーが実際の認証済みユーザーである必要があります。
簡単に言えば、どうすれば (A) と (B) を同じにすることができますか?