0

本教程非常有助于理解AccountManagerauthToken
Nick's Blog Authenticating against App Engine from an Android app

我仍然需要让它与一个基本的 Java SSL/TSL 套接字服务器一起工作,现在我的 Android 用户使用密码对自己进行身份验证。

更新:
服务器作为SPRIID应用程序用户的中继站。
使用 SPRIID 应用程序,您可以通过这个专用的 java 服务器将文件发送到其他设备。
- 一切都通过 C2DM(GCM)工作
- 后端 MongoDb 数据库注册用户和 frindlist 并处理传输详细信息
为了测试尝试应用程序,安装它,将自己添加为朋友,发送一些东西..

服务器如何解析authToken返回 getAuthToken()
我的服务器必须运行一些 GAE api 吗?
“联合登录”是要走的路吗?怎么做?

4

2 回答 2

1

不太清楚您到底在做什么,也许可以提供有关您的服务器的更多详细信息。

通常,您只需使用自己的自定义协议传递令牌。如果您使用 ClientLogin 令牌,检查它们是否有效的唯一方法是尝试调用相应的 Google 服务(例如,日历)并检查您是否收到 200(未授权时为 401)响应。对于 OAuth 令牌,有一个 API 可以验证它们。

还可以考虑使用 HTTP 并使用标准身份验证协议。

于 2012-11-01T03:21:54.700 回答
1

认为我现在可以工作了,警告我还在学习吗

在上面尼克的示例代码中,我替换了

accountManager.getAuthToken(account, "ah", false, new GetAuthTokenCallback(), null);

accountManager.getAuthToken(account,"oauth2:https://www.googleapis.com/auth/userinfo.profile", false, new GetAuthTokenCallback(), null);

现在我得到一个令牌,可以在我的 chrome 浏览器中执行以下操作:

https://www.googleapis.com/oauth2/v1/userinfo?access_token=ya29.AHeS6ZQpS0T0jipB0grWzuqINDdP98zjj-uljvw1GTR1_2s

这将返回这个json

{
 "id": "100864638927226952543326",
 "name": "Billy Bob",
 "given_name": "Billy",
 "family_name": "Bob",
 "link": "https://plus.google.com/13444649626952543326",
 "picture": "https://lh5.googleusercontent.com/--QPesNgxryI/AAAAAeewAAAI/AAAAAAAAAFo/J-LSwl0bcVU/photo.jpg",
 "gender": "male",
 "locale": "us"
}

我想要的是“id”,这应该是独一无二的

于 2012-11-03T18:05:45.517 回答