REST APIを使用して外部アプリの非ユーザー/クライアントのログインを適切に許可するにはどうすればよいですか?

だから私は私の会社のために引用を作成して提出するためのWebアプリケーションを書くという仕事を与えられました。

まずはSalesForceの新機能ですが、毎日良くなっていますが、私がここでやる必要があるのはまだかなり不快です。 私はREST
APIが私がこれに使用したいことを知っています。

今、私はこの REST/PHPの例と私が混乱しているのは、認証後、私はSalesForceの実際のログインページに持ち込まれます。私が読んだことから、これは私の質問です

SalesForceアプリケーションでWebアプリケーションを確認するためにこれを一度だけログインする必要がありますか?ここから、SalesForceに実際にログインしなくても直接接続できます?それは私が読んだコメントやフォーラムの投稿から得られる要点のようですが、それについてはわかりません。

次の質問はこれです。私がやりたいことのための最良の全体的なアプローチは何ですか?私が言ったように、私はSalesForceを初めて使いました。このアプリを完成させるためにはたくさんのプレッシャーがあります。残念ながら、この時点ですべてのドキュメントを読んで、テストアプリをたくさん作成するのは時間がありません。

アプリケーションはシンプルに聞こえますが、私はこのことにもっと慣れてきています。私たちが当初想定していたものよりももう少しプロジェクトが終了する恐れがあります。

アプリケーションは、当社のサーバーに格納され、PHPで書かれています。アイデアは、パスワードを保持するために追加したカスタムフィールドに基づいて、特定の顧客がアプリケーションにログインできるようにすることです。それらはサーバー上に完全に保持され、SalesForceから表示されるすべてのデータは、REST
APIを使用して単独で取得する必要があります。だから私たちのアプリは、理想的には、サーバーの裏側でSFにログインするべきです。ユーザーが自分の信用を入力すると、SFデータベースから引き出して有効性をチェックします。アプリケーション内に入ると、SFデータベースの価格マトリックスのメトリクスを使用する一種の「ステップバイステップ」製品ビルドプロセスが提示されます。彼らは製品ビルドを完了した後、その特定のクライアントが割り当てられている実際の販売担当者に割り当てられるように機会テーブルにそれを提出することができます。

他にも興味深い問題がいくつかあります。価格設定マトリックスの項目の一部は、特定の他の商品としか互換性がなく、現在販売担当者によって処理されています。
SalesForceでこれを処理する方法はありますか、または私のアプリでそのようなロジックを処理する必要がありますか?

私の主な質問は、どうすればこれをできるだけ最善の方法で処理するのですか?どのようなSF技術を使用する必要がありますか、また、各技術の具体的な側面をどのように使用していますか?私は広範な提案を探しています。

また、 – これは重要だと思います:P …これも可能ですか、間違った木を鳴らしていますか?

副次的なものとして、我々はすでにTOSが行く限り、SalesForceでこれをクリアしました。その前に問題はありません。

皆さんありがとう :)

ベストアンサー

さて、私の最初のコメントは、カスタム認証がTOSの外にあるということですが、それはあなたがカバーしているように思えます。顧客のポータルライセンス、エイム、申し訳ありませんが、コミュニティライセンスがどれだけ大きな投資をしているかに驚かされました。

プログラムであるため、ユーザー以外のユーザーに代わってSalesforceと話しているので、プログラムが認証してSalesforceで適切なデータモデルを変更するために使用するユーザーは1人のAPIのみにすることをお勧めします。これは、統合や、セールスフォース以外のユーザーのための独自の認証を処理するプログラムにもよく使用されます。これを設計するためのヒント

Use the
username/password oauth flow

この種のユーザー名/パスワード・フロー用に設定されたSOAP APIを使用するのに使用されましたが、REST
APIは新しく素晴らしいですし、OAuthが必要です。あなたのアプリケーションが(特権アプリケーションであるので)ユーザによって承認されるのは意味がないので、このoauthフローを使用してその部分をスキップしてください。

もちろん、PHPツールキット、大量データのサポート、長い歴史、そしてより良いコミュニティーとサポートを備えたSOAP
APIが常にあります。 RESTはすごいので、これは急速に変化しています!!

APIのみのユーザーを使用する

Heavenは、誰かがAPIユーザーのユーザー名/パスワードにアクセスできないようにしていると、ログインしたり突っ込んだりすることはできません。
APIは、ユーザーのプロフィールのオプションです。

パスワード有効期限プロファイルなし

APIユーザーのプロファイルにパスワードの有効期限を設定しないでください。そうすれば、プログラムが自発的に駄目にならないようにすることができます。

アプリケーションで不要なすべてのオブジェクトをオフにする

APIユーザーは、すべてのビューを必要とする/多くの場所ですべてのパーマを変更する必要があります。見積もりを実行するのに必要な数のオブジェクトとフィールドだけが表示されるようにして、これを制限してください。

セキュリティはあなた自身の手です(重要)

自分の認証をロールバックしているので、1人のユーザーが他のユーザーを邪魔しないようにする責任があります。これに余分な時間とリソースを費やすことを忘れないでください。

これらの資格情報を非表示

1つの間違いは避けるべきです。これらの資格情報をコードから取り除いてください。
someonesソースコントロールにリストされているユーザー名とパスワードを見るよりも悪いことはありません(ソースコントロールを使用してください!!)。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です