s0n*_*ica 22 api rest facebook oauth
我一直在阅读很多关于这个主题的内容,但我发现的都是过时的或部分的答案,这对我来说并没有那么多帮助,实际上让我更加困惑.我正在编写一个Rest API(Node + Express + MongoDB),它可以通过Web应用程序(托管在与API相同的域上)和Android应用程序访问.
我希望API只能由我的应用程序访问,并且只能由授权用户访问.我还希望用户能够仅使用他们的Facebook帐户进行注册和登录,并且我需要能够访问一些基本信息,如姓名,个人资料照片和电子邮件.
我想到的一个可能的情况是:
这有意义吗?这种方法是否有任何我遗漏的宏观安全漏洞?我使用MongoDB来存储这些信息的一个问题是,使用旧令牌,集合很快就会变得臃肿.从这个意义上来说,我认为最好使用Redis的过期策略为1小时,以便Redis自动删除旧信息.
Tom*_*ush 33
我认为更好的解决方案是:
fb_access_token给定的,确保其有效.获取user_id,email和交叉引用这与现有用户查看其新的或旧的.api_access_token,你回馈webapp和Android应用程序.如果您需要Facebook以外的其他任何东西,请将其存储fb_access_token在您的数据库中,并将其与新的api_access_token和您的user_id.api_access_token以进行身份验证.如果您需要fb_access_token获取更多信息,可以通过从DB中检索它来实现.总结:每当你可以,避免通过fb_access_token.如果api_access_token受到损害,您可以更好地控制攻击者是谁,他们正在做什么等等,而不是他们是否能够获得攻击者fb_access_token.您还可以更好地控制设置的到期日期,扩展fb_access_tokens等
只要确保无论何时通过HTTP传递任何类型的access_token,都要使用SSL.
| 归档时间: | 
 | 
| 查看次数: | 5677 次 | 
| 最近记录: |