在Web和移动应用程序中使用MySQL数据库实现crud功能的最佳方法

时间:2017-06-29 20:32:03

标签: php angular ionic-framework

我已经开发了一个在Codeigniter和MySQL中具有通常的crud功能的网站。我现在的任务是在Ionic 2中创建一个移动应用程序(具有相同的功能)。

要使用Ionic访问我的数据库,我创建了一个REST api - 我能够顺利操作。

我的问题是:

  1. 如何,或者我可以使用我的MySQL用户'登录我的Ionic 2应用程序的凭据?
  2. 我的网站和手机如何共享同一个数据库?
  3. 我已经阅读了很多关于Fire base等的内容。然而,我的小脑子无法理解我读到的任何东西。如果有人能指出我正确的方向,我会非常感激。谢谢!

2 个答案:

答案 0 :(得分:1)

在开发Ionic App时,您必须将其视为开发常规网站。唯一的区别是你可以使用cordova插件访问本机设备功能,但整个流程几乎与常规网站完全相同(毕竟它是一个有角度的应用程序)。

这意味着您可以像在网站中使用API​​一样使用API​​。没有必要使用firebase。 (Firebase有点像数据库本身,你可以使用你的MySQL后端的INSTEAD)

答案 1 :(得分:0)

完全赞同@Andreas。当您构建支持不同平台(如Web或移动)的现代应用程序时,您需要设计标准API,然后下一步是构建一个Web应用程序/移动应用程序来使用此API。由于所有Web /设备都使用相同的API,因此它们与同一个数据库进行交互。除非他们使用不同的API。 可以参考下面的图片以便于理解。

REST API

请谈谈如何通过移动应用程序或Web应用程序完成身份验证和授权。你应该看看OAuth2。它是一种从不受信任的设备保护API服务的协议,它提供了一种通过所谓的令牌身份验证对移动用户进行身份验证的好方法。

在网络和移动应用上,工作流程如下所示。

  1. 用户打开您的移动应用,系统会提示您输入用户名或电子邮件和密码。

  2. 您可以使用用户的用户名或电子邮件和密码数据从您的移动应用向您的API服务发送POST请求(确保超过SSL。如果您不知道,请将其谷歌)。

  3. 您验证用户凭据,并为在一定时间后过期的用户创建访问令牌。

  4. 您将此访问令牌存储在移动设备上,将其视为可以访问API服务的API密钥。

  5. 一旦访问令牌过期且不再有效,您将重新提示用户输入用户名或电子邮件和密码。

  6. 参考

    REST API from PHP

    The ultimate guide for Mobile Security