我有一个简单的应用程序,可以让用户绘制图片。有安卓版、IOS版和网页版。我还让用户将他们的图片存储在我们的 App 引擎服务器上,我希望他们能够与其他用户协作。我想使用谷歌帐户进行身份验证和一些权限方案的基础。
我不知道如何在 android(或 IOS)上验证/验证用户的 Google 帐户。我希望有人可以帮助或指出我正确的方向。到目前为止,这是我的理解:
在基于 Web 的客户端上,我只使用 Google-web 工具包 UserService。但是对于我的应用程序引擎 servlet,我不确定我应该使用什么。目前,servlet 的代码如下:
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、webviews、title 等找到了 OAuth 1 的信息,但没有关于 OAuth 2 的信息,而且没有一个真正告诉我如何验证服务器端。
我真的不知道我应该在这里做什么。我将不胜感激任何帮助。