标签:android oauth-2-0 facebook-php-sdk facebook-oauth api
我和我的团队正在开发一个Android原生移动社交网络,允许用户使用Facebook登录.我已经设法实现了适用于Android的Facebook SDK,但我正在努力弄清楚如何正确/安全地验证使用Facebook登录的用户以及仅从Facebook收到的凭据.目前我的系统如何:
步骤1.从Android客户端,用户按下登录Facebook并授予我的应用程序权限.
步骤2.在用户授予我们的权限后,Facebook会向我们发送一个响应,其中包括用户fb用户ID,电子邮件和令牌(如果这是用户第一次使用Facebook登录,则会显示其他信息)
步骤3.将信息发送到我们的API进行身份验证
这是我有点不清楚….我如何验证我的服务器上的Facebook凭据?
截至目前我只是检查我的数据库,收到了fb_uid和fb_email的现有用户,但任何人都可以获得任何人fb_uid,并且找到他们用来注册Facebook的电子邮件并不是那么难,这意味着有人可能很容易入侵另一个用户帐户有伪造的http请求.
解决方法:
access_token(如果有效)将允许您访问您的应用已请求访问权限的某些用户Facebook数据.验证您收到的凭据是否正确的一种方法是使用该access_token来查询Facebook.
例如,this page suggests how to open up the access_token
properties使用GET调用:
GET graph.facebook.com/debug_token?
input_token={token-to-inspect}
&access_token={app-token-or-admin-token}
然后返回:
{
"data": {
"app_id": 138483919580948,
"application": "Social Cafe",
"expires_at": 1352419328,
"is_valid": true,
"issued_at": 1347235328,
"metadata": {
"sso": "iphone-safari"
},
"scopes": [
"email",
"publish_actions"
],
"user_id": 1207059
}
}
标签:android,oauth-2-0,facebook-php-sdk,facebook-oauth,api 来源: https://codeday.me/bug/20190703/1368966.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。