【发布时间】:2017-02-12 01:02:57
【问题描述】:
我想为我的非营利组织创建一个面向公众的 react-native 应用程序(通过 App Store 和 Google Play 下载),该应用程序根据存储在 Salesforce 数据库中的捐赠历史显示数字会员卡(使用 NPSP )。
我的基本想法是让用户使用某种类型的无密码身份验证方案进行身份验证(react-native-lock,本机移动应用程序还有其他内容吗?)然后在 API 调用中使用经过身份验证的用户名和电子邮件作为查询参数Salesforce 的 REST API。我正在考虑从我的 Salesforce“连接应用程序”的创建/注册中硬编码消费者密钥和消费者秘密,或者硬编码消费者密钥,然后使用 Heroku 应用程序/服务器中的消费者秘密来丰富 API 调用,这将然后将 API 调用转发到 Salesforce。没有增加安全性的丰富代理 API 服务器是否矫枉过正?
我在想我会创建一个具有只读权限的 Salesforce 用户,我猜他们的凭据也会被硬编码到应用程序中?并且经过硬编码的、经过身份验证的 Salesforce 只读用户可以使用应用程序用户的姓名和电子邮件作为查询参数进行 API 调用,以检索捐赠信息以确定成员资格。这对我来说听起来很疯狂,但我想不出另一种方法来做到这一点。
我担心的是,通过构建这个应用程序,我会以一种难以正确保护的方式暴露我们的数据库。对于原生应用程序架构来说,这是一个糟糕的想法吗?我还能如何使用 react-native、无密码身份验证和 Salesforce 在本地应用程序中向会员展示数字会员卡的目标?我认为我们不想为我们拥有的每个捐助者创建 Salesforce 用户。这对我来说似乎也不正确。
【问题讨论】:
标签: oauth-2.0 react-native salesforce auth0