我想爲我的非營利組織創建面向公衆的反應原生應用程序(通過App Store和Google Play下載),該組織根據他們的捐款歷史存儲在我們的Salesforce數據庫中(使用NPSP)。響應原生Salesforce「連接應用程序」的身份驗證體系結構
我的基本想法是有使用某種類型的密碼認證方式的用戶進行身份驗證(react-native-lock
,還有什麼對原生移動應用?)然後在API調用Salesforce的使用驗證用戶的姓名和電子郵件作爲查詢參數REST API。我正在考慮從創建/註冊我的Salesforce「連接的應用程序」硬編碼消費者密鑰和消費者祕密,或者硬編碼消費者密鑰,然後用來自Heroku應用程序/服務器的消費者密鑰豐富API調用,然後將該API調用轉發給Salesforce。豐富的代理API服務器是否過度增加了安全性?
我在想我會創建一個具有隻讀權限的Salesforce用戶,我認爲他的憑據會被硬編碼到應用程序中?該硬編碼認證的Salesforce只讀用戶可以使用應用程序用戶名和電子郵件作爲查詢參數進行API調用,以檢索捐贈信息以確定成員身份。這聽起來很瘋狂,但我想不出另一種方式來做到這一點。
我的問題是,通過構建這個應用程序,我會以難以正確保護的方式暴露我們的數據庫。這對於本地應用程序架構來說是一個糟糕的主意嗎?我還可以通過使用反應本地,無密碼身份驗證和Salesforce來實現我的目標,即在本機應用程序中向會員呈現數字會員卡?我認爲我們不想爲每個捐助者創建Salesforce用戶。這對我來說也不正確。
謝謝你的回答。你認爲2因素認證(短信+電子郵件)對於數字會員卡來說有些過火嗎? – Eric
如果這取決於我,我會強烈推薦使用基於電子郵件的無密碼身份驗證。這樣,通過一步(更好的用戶體驗),您將獲得一個經過驗證的用戶,並證明提供的電子郵件確實由該用戶擁有。 –
我應該在我的移動應用程序項目之外的文件中擁有使用者密鑰,然後在部署之前(即使用構建腳本)包含它?或者,將消費者密鑰提交到配置/設置是否合理?js文件在私人github存儲庫,只要它仍然是一個私人回購?我對消費者機密和代理api服務器有同樣的問題。 – Eric