2

したがって、Salesforce の SOAP api のドキュメントによると、ログインしてログアウトする前に 1 分かかるプロセスを開始すると、他の誰かが同じ資格情報でログインし、ログアウトする前に 30 秒かかる別のプロセスを開始します。 2 番目のユーザーがログアウトすると、最初のユーザーも追い出されます。

REST API にこの問題はありますか? それを回避する方法はありますか?

4

2 に答える 2

2

あなたの質問の答えは「はい」です。REST Api にも同じ問題があります。

公式ドキュメントから:

複数のクライアント アプリケーションが同じユーザーを使用してログインしている場合、 それらはすべて同じセッションを共有します。クライアント アプリケーションの 1 つが logout() を呼び出すと、すべてのクライアント アプリケーションのセッションが無効になります。クライアント アプリケーションごとに異なるユーザーを使用すると、これらの制限を回避しやすくなります。

これを回避するために Salesforce が推奨する唯一の方法は、新しいユーザーを作成することです。

固有のセッションを管理し、アクティブなアクセス トークンをクライアントに提供する独自の中央サービスを作成することもできますが、このアプローチは force.com プラットフォーム ソリューションから離れています。

于 2012-07-10T00:02:36.283 に答える
1

これは、実際には、そのセッションを使用して呼び出したい特定のAPIよりもセッション管理の問題です。そうは言っても、2つの簡単なオプションがあります。

a)ログアウトを呼び出さないでください。非アクティブに基づいてセッションを期限切れにするだけです。そうすれば、セッションが2つの異なる統合によって共有されても、問題は発生しません。

b)OAuthに切り替えて認証を行い、各統合に独自のOAuthクライアント/リモートアクセスエントリを付与します。(セッションは異なるoauthクライアント間で共有されません)。

于 2012-07-10T00:43:39.740 に答える