本教程有助于理解AccountManager
和authToken
:
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吗?
“联合登录”是最佳选择吗?
答案 0 :(得分:1)
不太清楚你到底在做什么,也许会提供有关你服务器的更多细节。
通常,您只需使用自己的自定义协议传递令牌。如果您使用的是ClientLogin令牌,检查它们是否有效的唯一方法是尝试调用相应的Google服务(例如,日历),并检查您是否收到200(未经过验证的401)响应。对于OAuth令牌,有一个API来验证它们。
还要考虑使用HTTP并使用标准身份验证协议。
答案 1 :(得分: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”,假设是唯一的