对这个问题的一般性质表示歉意。希望这不会被击落为"太宽",但是哦,好吧,这是:
我正在编写一个纯粹是信息性(医学信息)的React本机应用
我遇到的第一个主要问题是根本使用身份验证是否必要(或一个好主意)。我们不希望用户输入任何信息(用户名,密码等)。他们应该能够下载该应用并直接使用它并阅读其提供的信息。
但是,我认为我至少希望API仅对React Native App中击中它的某人做出响应(还是不是吗?在情况下完全暴露了API是正常的做法这样的应用程序纯粹是信息,没有用户,例如网站?)
第二 - 在某个时候,我们可能希望能够为该用户存储一些简单的偏好(即,他们是病人还是医生,因此我们可以根据该用户定制材料/将其发送到其他主屏幕打开应用程序时)。想知道如果用户不创建帐户,人们可能会使用哪种策略来存储简单的首选项?
我至少希望API只能响应某人击中它 从反应本机应用中。
这可能是无法做到的,因为在移动应用程序中,每个人都可以访问您的客户端秘密,并可以尝试反向工程。您可以通过在请求中向您的API发送动态生成的令牌,例如基于时间范围的哈希,并检查哈希是否以正确的方式发送了哈希。然后,您必须混淆代码,以使某人很难对其进行逆转。
第二 - 在某个时候,我们可能希望能够存储一些简单的 该用户的偏好(即他们是病人还是医生,所以我们 可以根据该材料调整材料/将它们发送到其他房屋 打开应用程序时屏幕)。想知道某人会有什么策略 如果用户不创建一个简单的首选项 帐户?
如果您使用Parse Server实例作为后端,则可以从匿名用户功能中受益。当您使用Rails API时,您可以为应用程序的每个安装生成一个UUID,并根据该UUID保存数据库的首选项。如果您不需要存储在后端上的那些首选项,只需通过Asyncstorage的任何抽象将所需的任何信息存储在设备上。
我真的不需要身份验证 - 没有用户。
我可以根据用户代理或硬编码密码来验证数据来自我的应用程序。SSL应该有助于保留这些秘密。
是的,没有什么可以阻止某人拆卸该应用程序并获取这些信息。@felipe-martim的好主意是关于生成动态令牌的。
我真的只是想防止基本虐待,如果发生这种情况,我可以处理这种虐待,或者用诸如架子攻击之类的东西保护自己。
并在本地存储用户首选项应适合本地首选项。
最重要的是,如果我需要/客户预算允许!