質問

Salesforce-Chatter APIと対話するChrome拡張機能を構築しています。しかし、OAuth(ユーザーエージェントフロー)認証を使用しているユーザーの場合は、クライアントキーを拡張子に埋め込む必要があります。

これはセキュリティ上の問題を引き起こしますか?それとも、私の拡張子にクライアントIDを埋め込むことなくOAuthを使用する方法はありますか?

役に立ちましたか?

解決

クライアントID を要求に含める必要があるため、プロバイダはすでに指摘したように、プロバイダはリクエストがあなたから来たことを知っています。通常、プロバイダは、アクセストークン要求に追加的に含まれている機密 client secret も発行して、プロバイダはあなたのアプリがそのの使用を許可されていることを確認できます。クライアントID

Open Platform上で実行され、プラットフォーム自体はサーバーに対する拡張機能を認証する方法(Salesforceがサポートする必要があります)またはプロパティを安全に保存するためのメソッドを提供しません(開いていない場合は難しいです。プラットフォーム)、クライアントシークレット機密保護は不可能です。

これは一般的な問題であるため、OAuth仕様ではすでに検討されています(セクション10.1クライアント認証 10.2クライアント偽装)。したがって、プロバイダは追加のチェックを行う必要がありますが、クライアント側ではセキュリティを効果的に向上させるために何もできません。

将来的にAndroidデバイスでどのように処理されるのかについてもう少し洞察が必要な場合は、私の答えをチェックしてくださいここ

他のヒント

SalesforceにAppが認証を試みるようにするために、クライアントIDを拡張子に埋め込む必要があります。これらのクライアントIDは常に保存されてサーバーに渡されることを目的としているため、安全な方法で保存している限り、問題があるはずです。

マットクライアントIDを含めることを余儀なくされるパッケージアプリを作成している場合。もう1つのソリューションは、ホスト付きアプリとしてアプリを書くことです。

パッケージ化されたアプリとホストされたアプリの違いは何ですか?

この欠点は、Webサーバを管理するための追加の複雑さです。しかし、それはより大きなセキュリティを可能にするでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top