相关疑难解决方法(0)

Web客户端和移动REST api安全性的推荐配置

我意识到这个问题有很多问题,我现在已经研究了几天了.我想确保我的问题尽可能具体,因为我还没有充分了解最佳方法.

目前我有一个开发的django站点,Web客户端可能通过django-piston json REST api进行大约95%的通信.另外5%是一些重新登录功能,仍然通过具有CSRF保护的POST表单.理想情况下,我想将其余部分也移到REST api中.

我现在需要找到最佳的推荐解决方案,以便以可重用且愉快的共存方式保护Web客户端和移动客户端(应用程序尚未开发).我已经阅读了很多帖子,最终为移动端推荐OAuth2(和https),但我仍然对如何设置Web客户端安全性感到困惑.我也在理解OAuth2方面以及我是否可以使用双腿形式.就目前而言,Web客户端是经过django身份验证的.从技术上讲,jsonp功能在活塞中仍然有效,所以我认为任何人都可以使用第三方应用程序的api,只要他们的网络会话有auth cookie?

我api的用法总结:

  1. API是服务器应用程序的完全私有接口
  2. 如果第三方Web客户端mashup无法广泛重用API,那将是理想的选择.
  3. 数据不是necc敏感的.它只是一个社交类型的网站,其中最个人的信息是电子邮件,地址等基本用户配置文件.

我的问题摘要:

  1. OAuth2是保护移动应用访问安全的最佳推荐方法吗?它与Web客户端方面有什么关系吗?如果推荐OAuth2,它应该是应用程序版本的应用程序范围的密钥吗?
  2. Web客户端是否应该使用通过ajax传递的CSRF,并且只是禁用jsonp以确保其始终相同的来源?基本上,我是否单独处理Web客户端安全性?
  3. 我应该如何组织urls/app实例/子域或建议维护Web与移动安全的任何内容?我是否只需要单独的网址前缀,一个用于使用不同规则的移动设备?

我正在寻找django-piston针对解决这些问题的具体建议.我已经分支了我的项目并开始使用这个分叉版本的活塞:https://bitbucket.org/jespern/django-piston-oauth2

我有一个想法是创建一个活塞资源,首先检查它是否同源,然后只强制执行django auth,否则它强制执行oauth2,但我不确定这是否合适.

2012年1月1日更新

根据Spike提供的信息,我开始使用piston-oauth2.我最终创建了一个fork来为nonrel django(mongodb)添加一些修复程序,我分叉someone示例也使用oauth2和活塞:

https://bitbucket.org/justinfx/django-piston-oauth2-nonrel-example

现在只是我的一个问题,真正把它连接到我自己的项目并使其工作.但这些测试都很有效.

django mobile restful-authentication django-piston oauth-2.0

9
推荐指数
1
解决办法
1897
查看次数