2016-10-04 5 views
1

デジタル会員カードを表示している非営利団体向けの公開リアクションネイティブアプリ(App StoreとGoogle Playからダウンロード)を作成したいSalesforceデータベースに保存された寄付履歴(NPSPを使用)レスポンスネイティブのSalesforceの認証アーキテクチャ「connect app」

私の基本的な考え方は、パスワードレス認証方式(react-native-lock、ネイティブモバイルアプリには他に何かがありますか?)を使用してユーザーを認証させ、SalesforceのAPI呼び出しで認証されたユーザーの名前と電子メールをクエリパラメータとして使用することですREST API。私は、Salesforceの「接続されたアプリ」の作成/登録のコンシューマー・キーとコンシューマー・シークェンスの両方をハード・コーディングするか、コンシューマー・キーをハードコーディングしてから、Herokuアプリケーション/サーバーのコンシューマー・シークレットでAPIコールを充実させることを考えていました。 API呼び出しをSalesforceに転送します。強化されたプロキシAPIサーバーは、セキュリティを追加せずに過度に機能していますか?

私は、読み取り専用のアクセス許可を持つSalesforceユーザーを作成すると考えていました。その資格情報は、アプリにもハードコードされているようですね。また、認証されたSalesforceの読み取り専用ユーザーは、アプリユーザーの名前と電子メールをクエリパラメータとしてAPI呼び出しを行い、メンバーシップを決定するための寄付情報を取得できます。それは私には狂ったように聞こえますが、私はこれを行う別の方法を考えることはできません。

私の懸念は、このアプリケーションを構築することによって、私たちのデータベースを適切に保護するのが難しい方法で公開してしまうことです。これは、ネイティブのアプリケーションアーキテクチャのためのひどい考えですか?反応のないパスワードレス認証とSalesforceを使用してネイティブアプリでデジタル会員カードを使って会員を紹介するという私の目標を達成する方法は他にありますか?私たちが持っているドナーごとにSalesforceユーザーを作成したいとは思わない。それは私にとっても正しいとは思わない。

答えて

0

ネイティブモバイルアプリケーション、ブラウザアプリケーション、またはクライアントでコードが実行されるその他のアプリケーションでは、あらゆる種類の秘密および/または資格情報がハードコードされています。

私がお勧めするものを指摘したが、APIキーやハードコードされた資格情報の保管が安全であると考えられるサーバ側のコンポーネントがあるはずです。

サーバー側のコンポーネントは、認証されたユーザー(この場合はパスワードなし)を経由したユーザーであることを確認した後、システムの重要な部分(Salesforce)とのすべての通信を行いますモバイルアプリケーションからそのIDを表すトークンを使用してサーバーを呼び出しています。

もう1つ注意しなければならないのは、使用されているチャネルによってはPasswordless Authenticationとなるため、最初のログイン後にユーザーのメールがない可能性があります。たとえば、ユーザーがSMS経由でワンタイムコードを受け取ることができ、Salesforceクエリへの入力が電子メールである場合、ユーザーが認証した後、追加情報(この場合は電子メール)を要求する必要があります。また、このような場合、ユーザーが提供された電子メールの所有者であることを確認しない限り、他のユーザーの寄付状況を誰かに照会させることができます。電子メールによるパスワードレス認証のみをサポートするのが最善の方法かもしれません。

+0

ありがとうございました。あなたは、2因子認証(SMS +電子メール)がデジタル会員カードとして良心的なものとして過度のものになると思いますか? – Eric

+1

もしそれが私に任されていれば、私は電子メールベースのパスワードレス認証だけを検討することを強く考えていました。このように、1つのステップ(より良いユーザーエクスペリエンス)で、認証されたユーザーを取得し、提供された電子メールが実際にそのユーザーによって所有されていることを証明します。 –

+0

私のモバイルアプリプロジェクト外にあるファイルにコンシューマキーを入れて、それを展開の直前、つまりビルドスクリプトに含める必要がありますか?または、コンシューマキーを設定/設定にコミットすることは合理的ですか?jsファイルをプライベートgithubリポジトリに保存します。私は消費者の秘密とプロキシのAPIサーバーについて同じ質問をしています。 – Eric

関連する問題