Phonegap 和 Django 身份验证

Posted

技术标签:

【中文标题】Phonegap 和 Django 身份验证【英文标题】:Phonegap and Django Authentication 【发布时间】:2013-01-24 11:13:21 【问题描述】:

我正在构建一个PhoneGap (Cordova) 应用程序,我希望能够与我的 Django 站点交谈。使应用程序运行所需的步骤是:

    对用户进行身份验证(在应用重新启动时保持登录状态)(例如,从 Django 获取会话 cookie 以与服务通信 - 存储在哪里?)。 注意:Django 端点使用 https。 当应用收到推送通知时,从我的 django 站点加载一些数据。 选择数据并将响应提交回我的 django 站点(需要 csrf 令牌吗?)

我能够整理推送通知,但现在我想知道哪种解决方案最适合与 Django 的通信。 据我了解,有两种可能的方法:

    要么使用 tastypie 之类的东西实现 REST 服务,要么 尝试通过 ajax(例如 jQuery)设置通信

目前我认为简单的 ajax 可能是最好的方法,因为该应用程序相当小,并且对 REST API 没有额外要求。

如果有人可以就如何解决这个问题或分享一些经验/代码给我任何指示,那就太好了。特别是身份验证过程的步骤我不清楚。

【问题讨论】:

【参考方案1】:

我不确定这是否仍然是一个悬而未决的问题,但它肯定是一个有趣的问题。 我强烈建议您使用django-tastypie,您可以先使用docs,这确实是一个很好的参考点。

到目前为止,我的经验表明,我应该始终从让我的 api 清晰(和休息)开始,而不是选择一个更简单、更快的解决方案(例如 ajax),因为如果你的应用程序是成功的,那么像这样的框架可以帮助你扩展。

如果您选择基本的身份验证过程,则非常简单。 您只需询问用户凭据,并且有许多客户端实现客户端基本身份验证。 幸运的是,tastepie 支持的远不止这些。比如api认证,你可以阅读更多here。 如果您还需要什么,请告诉我。

问候, 迈克尔。

【讨论】:

以上是关于Phonegap 和 Django 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django rest 框架在两个 api 之间配置身份验证的最佳方法是啥?

phonegap:基于 cookie 的身份验证 (PHP) 不起作用 [webview]

ios的phonegap中的facebook身份验证

Phonegap (Android) 上的 ASP.NET 表单身份验证问题

Phonegap错误:401未经授权 - 在Phonegap中使用基本身份验证的Rest API

phonegap ajax 用户身份验证与 nodejs-express-mongodb-passport js