この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Heroku から Salesforce1 API をコンシュームする場合のベストプラクティス

Salesforce 組織の機能を拡張するためのアプリケーションを作成するとします。OAuth を使用すると、アプリケーションがプラットフォームで認証されます。ユーザは、そのアプリケーションがユーザの代わりにアクションを実行できるように、Salesforce ログイン情報を使用して認証することができます。OAuth のログイン情報の設定手順は、認証を参照してください。ここでは、Heroku で OAuth を安全に管理する方法を説明します。

Heroku でアプリケーション開発に適用されるセキュリティベストプラクティスの 1 つは、設定情報 (ログイン情報など) をコードから分離することです。これにより、パスワードなどの機密情報が、ソースコードの保存場所や開発用コンピュータから不用意に拡散することを防止できます。また、設定情報をコードから分離すると、アプリケーションのリリースごと (ステージングと本番など) に設定を独立して管理することもできます。通常のアプリケーションはその段階が進むごとにリリースが増えていくので、これは、それに合わせて円滑に拡張できるモデルです。

こうした理由から、Heroku では設定 (OAuth コンシューマ鍵やコンシューマの秘密など) を設定変数に保存し、鍵をコードから分離します。Heroku では、これらの設定変数がアプリケーションに対する環境変数として表されます。これらの環境変数は永続的です。つまり、異なるリリース間やアプリケーションの再起動前後でも変わることはありません。そのため、値を変更する必要がない限り、設定が必要なのは 1 回だけです。

Salesforce での認証のためにアプリケーションの OAuth ログイン情報を管理する方法の例を次に示します。

最初に、OAuth のコンシューマ鍵とコンシューマの秘密の設定を定義します。

1$ heroku config:set OAUTH_ID=3MRG8lKcPoNINVBJSoQsNCD.HHDdbugPsNXwwyFbgb47KWa_ABc
2
3Adding config vars and restarting myapp... done, v12
4
5OAUTH_ID: 3MRG8lKcPoNINVBJSoQsNCD.HHDdbugPsNXwwyFbgb47KWa_ABc
6
7$ heroku config:set OAUTH_SECRET=5678471853609579511
8
9Adding config vars and restarting myapp... done, v13
10
11OAUTH_SECRET: 5678471853609579511

これで、コマンドラインからいつでも設定の取得、設定の削除、または変更ができます。

1$ heroku config:get OAUTH_ID
2
33MRG8lKcPoNINVBJSoQsNCD.HHDdbugPsNXwwyFbgb47KWa_ABc
4
5
6
7$ heroku config:unset OAUTH_ID
8
9Unsetting OAUTH_ID and restarting myapp... done, v14

Heroku でアプリケーションの設定変数にコンシューマ鍵とコンシューマの秘密を設定したら、アプリケーションは OAuth ロジックを実装して、適切な Salesforce 認証エンドポイントに対して OAuth 認証フローを実行できます。他の環境変数の場合と同様に、アプリケーション内から設定変数にアクセスするだけです。