ユーザーが絵を描くことができる簡単なアプリケーションがあります。Android、IOS、および Web ベースのバージョンがあります。また、ユーザーが自分の写真を App Engine サーバーに保存できるようにし、他のユーザーと共同作業できるようにしたいと考えています。認証といくつかの権限スキームの基礎として Google アカウントを使用したいと考えています。
Android(またはIOS)でユーザーのGoogleアカウントを検証/認証する方法がわかりません。誰かが助けてくれるか、正しい方向に向けてくれることを願っています。これが私がこれまでに理解していることです:
Web ベースのクライアントでは、Google Web ツールキットの UserService を使用するだけです。ただし、私のアプリ エンジン サーブレットでは、何を使用すればよいかわかりません。現在、サーブレットには次のようなコードがあります。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
OAuthService oauth = null;
oauth = OAuthServiceFactory.getOAuthService();
User user = oauth.getCurrentUser();
// Do stuff
}
私のAndroidアプリケーションでは、次のようなことをすることになっていると思います:
1) AccountManager からアカウントを取得する
2) 電話:
accountManager.getAuthToken
(account, // Account
"oauth2:https://www.googleapis.com/auth/userinfo.profile",//AUTH Token Type
null, // Options
this, // Activity
new MyAccountsManagerCallBack(), // call-back
null); // Handler
これにより、認証トークンが提供されます。
3) ?? 利益 ??
これは私が迷っているところです。この認証トークンを平文のクエリ パラメータとしてアプリ エンジン サーバーに送信し、Web サーバーから userinfo/profile API に要求を送信しますか? それは安全ではないようです。
OAuthService を使用して以前のコードを機能させる方法はありますか?
OAuth 2 のサンプルでは Google タスク API を使用していますが、アプリ エンジン API を使用したいと考えています。Cookie、Webビュー、タイトルなどを使用してOAuth 1の情報を見つけましたが、OAuth 2には何もありません。また、サーバー側の検証方法を実際に教えてくれるものもありません。
ここで何をすべきか本当にわかりません。ご支援いただければ幸いです。