OAuth 認証
Force.com Canvas では、OAuth 2.0 による認証をサポートしています。OAuth を使用する場合、次の 2 つのオプションがあります。
- Web サーバ OAuth 認証フロー — ユーザは、キャンバスアプリケーションを実行するときに、ユーザのデータにアクセスするアプリケーションを認証できます。この場合、各ユーザがキャンバスアプリケーションで情報へアクセスできるようにする必要があります。詳細は、 『Force.com REST API 開発者ガイド』の「Web サーバ OAuth 認証フローについて」を参照してください。
- ユーザエージェント OAuth 認証フロー — ユーザは、キャンバスアプリケーションを実行するときに、ブラウザだけを使用してユーザのデータにアクセスするアプリケーションを認証できます。Web サーバ OAuth 認証と同様に、このオプションでは各ユーザがキャンバスアプリケーションで情報へアクセスできるようにする必要があります。
更新トークンが提供されないため、この認証方法は開発でのみ使用し、本番では使用しないことをお勧めします。この種類の認証では、サーバ側のコードは不要で、開発マシンをインターネットに公開する必要がありません。ただし、本番環境では、OAuth フローが発生するたびにユーザはアプリケーションの承認または拒否を求められるため、更新トークンがないと不便です。詳細は、『Force.com REST API 開発者ガイド』の「ユーザエージェント OAuth 認証フローについて」を参照してください。
実装する OAuth フローに関係なく、キャンバスアプリケーションは、標準ベースの OAuth フローを開始するためのコードを提供する必要があります。OAuth には次のような考慮事項があります。
- Salesforce は、キャンバスアプリケーション URL を呼び出すときに HTTP GET を実行します。
- ユーザエージェント OAuth では、すべての認証がブラウザで実行できます (サーバ側のコードは不要です)。
OAuth と Force.com プラットフォームについての詳細は、https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com を参照してください。
OAuth 認証を使用する既存の接続アプリケーションをキャンバスアプリケーションとして公開する場合、2 つのオプションがあります。1 つ目は、既存のアプリケーションを編集して新バージョンを作成し、キャンバスアプリケーション情報を追加する方法です。この場合、アプリケーションは引き続き同じクライアント ID とコンシューマの秘密を使用できます。2 つ目のオプションは、新しいキャンバスアプリケーションを作成する方法です。この場合、新しいクライアント ID とコンシューマの秘密を取得し、その情報でアプリケーションを更新する必要があります。