0

我有一个托管在 CPanel 上的网站,我想用 React Native 开发一个移动应用程序。

我希望我的主页允许用户输入他们的电子邮件地址和密码,然后根据我数据库中的用户登录。

我已经有了表格,但看不到如何识别我的用户。我是否需要使用 SQL 库将查询直接发送到我的数据库?

谢谢你的帮助 !

4

1 回答 1

0

这是一个相当广泛的问题,但首先,是的,您需要使用您的数据库(包含用户名和密码)进行身份验证。数据库类型无关紧要(MySQL、MSSQL、NoSQL),但您真的不应该将密码保存为纯文本。凭证安全也是一个非常重要和深刻的话题。恕我直言,您需要做的是研究这些主题并就您遇到问题的特定代码段提出问题。

首先,ypu 将密码的加盐哈希版本保存在数据库中,这样如果泄漏,就无法将其转换回原始密码。在登录期间,您将相同的加盐+散列应用于用户类型并比较这些加盐散列。请注意,此过程与加密连接 (SSL) 不同,您的连接无论如何都必须加密。可能有第三方组件,但最好了解事物的工作原理以防止令人讨厌的意外。

从第三方授权服务(例如 Firebase 身份验证)开始可能是一种更好的方法。他们实现了自己的 JS 登录基础设施,因此您只需调用提供给您的适当方法。这可能是一种更简单的方法。许多框架都有其示例代码和指南也很常见。在我的 Vue 项目中,我通常也使用它。

您可以在此处找到有关如何将 Firebase 身份验证与 React Native 一起使用的更多信息:https ://rnfirebase.io/auth/usage

简单的说;

  • 安装依赖项
  • 将登录/注销方法放在适当的 UI 元素回调下
  • 订阅身份验证状态更改

这些外部服务支持不同类型的身份验证,例如 Google 帐户、Facebook 帐户、用户名+密码、SMS 验证、2FA...等。盒子外面。

于 2021-10-15T06:35:24.093 回答