Phonegap&;Jquery移动应用程序使用Codeigniter Ion Auth后端进行登录
我已经有了CRUDWeb应用程序,它是使用Codeigniter PHP框架和Ion Auth身份验证库(用于Codeigniter)构建的。因此,用户需要登录才能使用网站等 现在我正在使用Phonegap和jQuery mobile构建一个小型移动应用程序,它使用相同的后端。后端有一个“类似REST”的api,用于处理来自移动客户端的所有ajax请求 我应该如何处理此移动应用的用户身份验证?我希望尽可能多地使用现有的后端代码库 我正在计划这样的事情:Phonegap&;Jquery移动应用程序使用Codeigniter Ion Auth后端进行登录,codeigniter,authentication,cordova,jquery-mobile,ion-auth,Codeigniter,Authentication,Cordova,Jquery Mobile,Ion Auth,我已经有了CRUDWeb应用程序,它是使用Codeigniter PHP框架和Ion Auth身份验证库(用于Codeigniter)构建的。因此,用户需要登录才能使用网站等 现在我正在使用Phonegap和jQuery mobile构建一个小型移动应用程序,它使用相同的后端。后端有一个“类似REST”的api,用于处理来自移动客户端的所有ajax请求 我应该如何处理此移动应用的用户身份验证?我希望尽可能多地使用现有的后端代码库 我正在计划这样的事情: 从客户端向服务器发送用户名和密码 将会话
- 从客户端向服务器发送用户名和密码
- 将会话id从服务器返回到客户端
- 到客户端的存储会话id(本地存储)
- 将每个请求中的令牌发送到服务器,并在服务器端验证它
欢迎提出所有意见和建议 我认为最好的解决方案就是在控制器和请求之间放置一个中间件 您可以使用挂钩来实现这一点: 使用预控器挂钩 为了方便地管理API请求,请使用HTTP代码
- 404:未找到项(如/client/:id)
- 500:服务器有问题
- 401:没有令牌
- 403:此令牌无权访问此资源(如希望访问管理员资料的简单用户)
我使用NodeJS,其概念与Express Middleware相同。我使用phonegap和jQuery mobile开发了相同类型的移动应用程序,并使用MySQL db作为我的网站后端,该网站位于node js平台,但使用API访问所有功能的总体思路是相同的 API调用服务器进行登录和所有其他操作,如获取数据、向服务器发送数据等 如果您在服务器端准备好了API,那么就完成了,您只需调用该API即可完成所有工作。首先,您可以调用API的登录函数并传递用户名和密码(如果成功),然后返回带有用户id的成功令牌,您可以将其存储在本地移动数据库中。我已经将SQLite用于移动存储 然后,在每个其他请求上,我都使用该令牌进行身份验证,并在服务器上执行操作 您还可以在我的应用程序中添加自动登录功能,因此无需每次登录