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

Auth の例外

Auth 名前空間には、いくつかの例外クラスが含まれています。

すべての例外クラスは、エラーメッセージや例外型を返す組込みメソッドをサポートしています。「Exception クラスおよび組み込み例外」を参照してください。

Auth 名前空間には、次の例外があります。

例外 説明 メソッド
Auth.​AuthProviderPluginException この例外を発生させて、認証プロバイダプラグインを使用しているときにエラーが発生したことを示します。ユーザにカスタムエラーメッセージを表示するために使用します。 エラーメッセージを取得してデバッグログに書き込むには、String getMessage() を使用します。
Auth.​ConnectedAppPlugin​Exception この例外を発生させて、接続アプリケーションでカスタム動作の実行中にエラーが発生したことを示します。 エラーメッセージを取得してデバッグログに書き込むには、String getMessage() を使用します。
Auth.JWTBearerTokenExchange.​JWTBearerTokenExchangeException​ この例外を発生させて、JWTBearerTokenExchange クラスのトークンエンドポイントからの応答で発生した問題を示します。OAuth 2.0 JWT ベアラートークンフロー中に HTTP 応答が次の状況になった場合に、この例外が発生します。
  • アクセストークンを返すことに失敗した。
  • JSON 形式ではない。
  • 「OK」成功コード 200 以外の応答コードを返した。
エラーメッセージを取得してデバッグログに書き込むには、String getMessage() を使用します。
Auth.LoginDiscoveryException この例外を発生させて、ログイン検出ハンドラを実行しているときにエラーが発生したことを示します。例については、「LoginDiscoveryHandler の実装例」を参照してください。 エラーメッセージを取得してデバッグログに書き込むには、String getMessage() を使用します。
Auth.VerificationException この例外を発生させて、渡されたポリシーに基づいて検証をトリガします。この例外は、Apex トリガまたは Visualforce コントローラで発生させることができます。可能な場合は自動的に検証エンドポイントに移動します。

この例外は、発生させた後にキャッチすることはできません。この例外では、即座に検証がトリガされます。

メモ

該当なし

次の例では、AuthProviderPluginException を使用して、カスタム認証プロバイダ実装内のすべてのメソッドにカスタムエラーメッセージをスローしています。エンドユーザに特定のメッセージを表示する場合、この例外を使用してエラーメッセージをパラメータとして渡します。別の例外を使用した場合、ユーザには標準の Salesforce エラーメッセージが表示されます。

1global override Auth.OAuthRefreshResult refresh(Map<string,string> authProviderConfiguration,String refreshToken){
2            HttpRequest req = new HttpRequest();
3            String accessToken = null;
4            String error  = null;
5            try {
6            
7            // DEVELOPER TODO: Make a refresh token flow using refreshToken passed 
8            // in as an argument to get the new access token
9            // accessToken = ... 
10            } catch (System.CalloutException e) {
11            error = e.getMessage();
12            }
13            catch(Exception e) {
14            error = e.getMessage();
15            throw new Auth.AuthProviderPluginException('My custom error');
16            }
17            
18            return new Auth.OAuthRefreshResult(accessToken,refreshToken, error);                
19            }

次の例では、ユーザが高保証セッションを使用せずにアカウントの作成を試みた場合に Auth.VerificationException を使用して検証をトリガします。

1trigger testTrigger on Account (before insert) {
2    Map<String, String> sessionMap = auth.SessionManagement.getCurrentSession();
3    if(!sessionMap.get('SessionSecurityLevel').equals('HIGH_ASSURANCE')) {
4        throw new Auth.VerificationException(
5            Auth.VerificationPolicy.HIGH_ASSURANCE, 'Insert Account');
6    }
7}