Phonegap和Jquery移动应用程序使用Codeigniter Ion Auth后端登录

dev*_*vha 7 authentication codeigniter jquery-mobile cordova ion-auth

我已经有了使用Codeigniter PHP框架和Ion Auth身份验证库(用于Codeigniter)构建的CRUD Web应用程序.因此用户需要登录才能使用该网站等.

现在我使用Phonegap和jQuery mobile构建小型移动应用程序,该移动应用程序使用相同的后端.后端有"REST like"api处理来自移动客户端的所有ajax请求.

我该如何处理此移动应用的用户身份验证?我想尽可能多地使用现有的后端代码库.

我正在计划这样的事情:

  • 从客户端发送用户名并传递给服务器
  • 将会话ID从服务器返回给客户端
  • 将会话ID存储到客户端(本地存储)
  • 将每个请求中的该令牌发送到服务器并在服务器端验证它.

如何在后端执行此操作?对于登录,我可以使用Codeigniter Ion Auth库登录方法并获得Codeigniter(PHP)会话ID.在第二个请求中,当用户将一些实际数据与sessoin id一起发送时,如何验证会话ID?或者,除了尝试使用现有功能(Codeignitre Ion Auth库)之外,为移动应用程序身份验证构建全新的登录功能是否更好?

所有的想法和建议都非常受欢迎!

Yac*_*gui 1

我认为最好的解决方案就是在控制器和请求之间放置一个中间件。

您可以使用 Hooks 来做到这一点: http: //ellislab.com/codeigniter/user-guide/general/hooks.html

使用预控制器挂钩。

为了轻松管理 API 请求,请使用 HTTP 代码

  • 404:未找到项目(如 /client/:id)
  • 500:服务器有问题
  • 401:没有令牌
  • 403:此令牌无权访问此资源(就像想要访问管理内容的简单用户)

您在这里拥有所有代码:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

当你可以更容易地做到这一点时,避免使用复杂的库。钩子对我来说是最好的。

我使用 NodeJS,其概念与 Express 中间件相同。