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

ConnectedAppPlugin クラス

接続アプリケーションの動作を拡張するためのメソッドが含まれます。たとえば、使用するプロトコルに応じて接続アプリケーションの呼び出し方法をカスタマイズします。このクラスによって、Salesforce と接続アプリケーション間のインタラクションの制御を強化できます。

名前空間

Auth

使用方法

接続アプリケーションを作成するときは、アプリケーションに関する一般な情報と、OAuth、Web アプリケーション、モバイルアプリケーション、およびキャンバスアプリケーションの設定を指定します。アプリケーションの呼び出し方法をカスタマイズするには、この ConnectedAppPlugin Apex クラスを使用して接続アプリケーションハンドラを作成します。たとえば、このクラスを使用して、新しい認証プロトコルをサポートしたり、ビジネスプロセスにメリットがある形でユーザ属性に応答したりできます。

接続アプリケーションハンドラを作成する場合、ConnectedAppPlugin クラスも設定して、実行ユーザとして実行されるようにします。実行ユーザは、接続アプリケーションのアクセスを承認します。たとえば、authorize メソッドを使用する場合、実行ユーザは接続アプリケーションのデータへのアクセスを承認します。

実行ユーザを指定しない場合、プラグインは自動化プロセスユーザ (バックグラウンドでタスクを実行するシステムユーザ) として実行されます。customAttributes メソッドを除く大部分の ConnectedAppPlugin メソッドでは、実行ユーザを指定する必要があります。詳細は、「カスタム接続アプリケーションハンドラの作成」を参照してください。

この例では、コンテキストが SAML でユーザがカスタム項目で追跡される目標に達した場合、接続アプリケーションユーザによる接続アプリケーションの使用を承認します。ユーザの権限セットの割り当てが返されます。Auth.InvocationContext を使用して、サービスプロバイダに送信される前に SAML アサーションを変更します。

ConnectedAppPlugin のメソッド

ConnectedAppPlugin のメソッドは次のとおりです。

authorize(userId, connectedAppId, isAdminApproved)

廃止済みであり、API バージョン 35.0 および 36.0 でのみ使用できます。バージョン 37.0 以降は、代わりに authorize(userId, connectedAppId, isAdminApproved, context) を使用します。

署名

public Boolean authorize(Id userId, Id connectedAppId, Boolean isAdminApproved)

パラメータ

userId
型: Id
接続アプリケーションの使用を試みているユーザの 15 文字の ID。
connectedAppId
型: String
接続アプリケーションの 15 文字の ID。
isAdminApproved
型: Boolean
接続アプリケーションで承認が必要な場合の指定されたユーザの承認状態。

戻り値

型: Boolean

接続アプリケーションでシステム管理者の承認が必要な場合、戻り値 true は現在のユーザが承認されていることを示します。

authorize(userId, connectedAppId, isAdminApproved, context)

接続アプリケーションにアクセスする指定したユーザを認証します。ユーザが自己承認するように接続アプリケーションが設定されている場合、このメソッドは呼び出されません。

署名

public Boolean authorize(Id userId, Id connectedAppId, Boolean isAdminApproved, Auth.InvocationContext context)

パラメータ

userId
型: Id
接続アプリケーションの使用を試みているユーザの 15 文字の ID。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。
isAdminApproved
型: Boolean
接続アプリケーションで承認が必要な場合の指定されたユーザの承認状態。
context
型: InvocationContext
接続アプリケーションが呼び出されるコンテキスト。

戻り値

型: Boolean

接続アプリケーションでシステム管理者の承認が必要な場合、戻り値 true はユーザが承認されていることを示します。

使用方法

ConnectedAppPlugin が現在のユーザの代わりに実行されます。ただし、プラグインが動作するには、このユーザに接続アプリケーションの使用権限が必要です。このメソッドを使用してユーザを認証します。

customAttributes(userId, connectedAppId, formulaDefinedAttributes)

廃止済みであり、API バージョン 35.0 および 36.0 でのみ使用できます。バージョン 37.0 以降は、代わりに customAttributes(userId, connectedAppId, formulaDefinedAttributes, context) を使用します。

署名

public Map<String,String> customAttributes(Id userId, Id connectedAppId, Map<String,String> formulaDefinedAttributes,)

パラメータ

userId
型: Id
接続アプリケーションの使用を試みているユーザの 15 文字の ID。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。
formulaDefinedAttributes
型: Map<String, String>
UserInfo エンドポイント (OAuth) から、または SAML アサーションからの新しい属性セットの対応付け。詳細は、オンラインヘルプの「UserInfo エンドポイント」を参照してください。

戻り値

型: Map<String, String>

更新された属性セットの対応付け。

customAttributes(userId, connectedAppId, formulaDefinedAttributes, context)

指定したユーザに新しい属性を設定します。接続アプリケーションが UserInfo エンドポイントから、または SAML アサーションを使用してユーザの属性を取得する場合は、このメソッドを使用して属性値を更新します。

署名

public Map<String,String> customAttributes(Id userId, Id connectedAppId, Map<String,String> formulaDefinedAttributes, Auth.InvocationContext context)

パラメータ

userId
型: Id
接続アプリケーションの使用を試みているユーザの 15 文字の ID。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。
formulaDefinedAttributes
型: Map<String, String>
UserInfo エンドポイント (OAuth) から、または SAML アサーションからの現在の属性セットの対応付け。詳細は、オンラインヘルプの「UserInfo エンドポイント」を参照してください。
型: InvocationContext
接続アプリケーションが呼び出されるコンテキスト。

戻り値

型: Map<String, String>

更新された属性セットの対応付け。

modifySAMLResponse(authSession, connectedAppId, samlResponse)

Salesforce SAML ID プロバイダ (IDP) によって生成された XML を、サービスプロバイダに送信される前に変更します。

署名

public dom.XmlNode modifySAMLResponse(Map<String,String> authSession, Id connectedAppId, dom.XmlNode samlResponse)

パラメータ

authSession
型: Map<String, String>
承認されたユーザのセッションの属性。対応付けには、接続アプリケーションにアクセスしている、承認されたユーザの 15 文字の ID が含まれます。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。
samlResponse
型: Dom.XmlNode
IDP によって生成された SAML XML 応答が含まれます。

戻り値

型: Dom.XmlNode

変更された SAML XML 応答が含まれる Dom.XmlNode のインスタンスを返します。

使用方法

このメソッドを使用して XML SAML 応答を変更し、検証、署名、および対象サービスプロバイダへの送信前に SAML 要求のコンテキストに基づいてアクションを実行できます。このメソッドにより、開発者は特定のニーズに合わせて接続アプリケーションプラグインを拡張できます。

開発者は、接続アプリケーションプラグイン内で行われる変更の全責任を負います。プラグインには、検証とエラー処理を含める必要があります。プラグインで例外が発生したら、キャッチしてログに記録し、プロセスを停止します。対象サービスプロバイダには何も送信しないでください。

refresh(userId, connectedAppId)

廃止済みであり、API バージョン 35.0 および 36.0 でのみ使用できます。バージョン 37.0 以降は、代わりに refresh(userId, connectedAppId, context) を使用します。

署名

public void refresh(Id userId, Id connectedAppId)

パラメータ

userId
型: Id
更新トークンを要求しているユーザの 15 文字の ID。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。

戻り値

型: void

refresh(userId, connectedAppId, context)

Salesforce は、更新トークンの交換時にこのメソッドをコールします。

署名

public void refresh(Id userId, Id connectedAppId, Auth.InvocationContext context)

パラメータ

userId
型: Id
更新トークンを要求しているユーザの 15 文字の ID。
connectedAppId
型: Id
接続アプリケーションの 15 文字の ID。
context
型: InvocationContext
接続アプリケーションが呼び出されるコンテキスト。

戻り値

型: void