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

署名付き要求認証

これは、キャンバスアプリケーションのデフォルトの認証方法です。署名付き要求認証フローは、キャンバスアプリケーションの [許可されているユーザ] 項目が [管理者が承認したユーザは事前承認済み] と [すべてのユーザは自己承認可能] のどちらに設定されているかによって異なります。
許可されているユーザの値 キャンバスアプリケーションのアクセシビリティ ユーザがキャンバスアプリケーションを承認する必要があるタイミング POST または GET の動作
管理者が承認したユーザは事前承認済み システム管理者がアプリケーションを組織にインストールし、参照権限を付与するユーザを設定すれば、ユーザはすぐにアプリケーションへアクセスできるようになります。ユーザによるアクセスの承認や拒否は必要ありません。 不要 Salesforce は、更新トークンを含む、署名付き要求のボディに含まれるすべての認証情報を使用してキャンバスアプリケーションへの POST を実行します。
すべてのユーザは自己承認可能 すべてのユーザがアプリケーションにアクセスできますが、ユーザはアプリケーションへのアクセスを承認または拒否するように要求されます。
  • ユーザがアプリケーションを初めて開いたとき
  • システム管理者によってアクセストークンが取り消された場合
  • システム管理者がトークンに時間制限を設定していてその時間制限を超えた場合
ユーザが以前にアプリケーションを承認していて、アクセスが取り消されたり期限切れになったりしていない場合、Salesforce は署名付き要求ペイロードを使用してキャンバスアプリケーションへの POST を実行します。
ユーザがアプリケーションを承認していない場合、またはアクセスが取り消されているか期限切れになっている場合、Salesforce はキャンバスアプリケーション URL への GET を実行します。キャンバスアプリケーションは、コールを受け入れて URL パラメータ _sfdc_canvas_authvalue を検索し、GET を処理する必要があります。このパラメータ値を受け取ったキャンバスアプリケーションは、OAuth フローの承認または拒否を開始する必要があります。
1_sfdc_canvas_authvalue = user_approval_required

OAuth フローが開始されてユーザがアプリケーションを承認したら、キャンバスアプリケーションは true のパラメータを使用して repost() メソッドをコールし、署名付き要求を取得する必要があります。

署名付き要求情報は、クライアントの秘密を使用して検証でき、アプリケーションのカスタマイズと、Salesforce への後続のコールを行うために使用されます。
署名付き要求は、次の要素を連結した文字列です。
  • HMAC SHA–256 アルゴリズムで暗号化されたキャンバスアプリケーションのコンシューマの秘密
  • ピリオド ( . )
  • Base64 で JSON 符号化されたコンテキストおよび認証ト���クン
署名付き要求は、次のように非常に長くなります。9Rpl6rE7R2bSNjoSfYdERk8nffmgtKQNhr5U/5eSJPI=.eyJjb250ZXh0Ijp7InVzZXIiOnsibGFuZ3V....。
署名付き要求の考慮事項
  • Salesforce は、キャンバスアプリケーション URL を呼び出すときに、[許可されているユーザ] の値や、更新トークンが返されるかどうかに応じて、HTTP POST または GET を実行します。
  • 要求の検証と復号化には、サーバ側のコードが必要です。
  • 署名付き要求は、アプリケーションを呼び出した後に SDK を使用してオンデマンドで要求できます。