Newer Version Available
SessionManagement クラス
名前空間
SessionManagement のメソッド
generateVerificationUrl(policy, description, destinationUrl)
署名
public static String generateVerificationUrl(Auth.VerificationPolicy policy, String description, String destinationUrl)
パラメータ
- policy
- 型: Auth.VerificationPolicy
- ユーザのセッションの ID 検証を開始するのに必要なセッションセキュリティポリシー。たとえば、ポリシーに高保証レベルのセッションセキュリティが設定されていて、ユーザの現在のセッションは標準レベルのセッションセキュリティである場合、ユーザのセッションは ID 検証が正常に終了すると高保証に引き上げられます。[設定] ユーザインターフェースでは、この値は [ID 検証履歴] の [トリガ基準] 列に表示されます。
- description
- 型: String
- ID 検証を必要とするアクティビティを説明するカスタムの説明 (「購入を完了してチェックアウト」など)。このテキストは、Salesforce で、および Salesforce Authenticator バージョン 2 以降を使用している場合は Salesforce Authenticator モバイルアプリケーションで、ユーザが自分の ID を検証するときに表示されます。さらに、[設定] ユーザインターフェースでは、このテキストは [ID 検証履歴] の [アクティビティメッセージ] 列に表示されます。
- destinationUrl
- 型: String
- ID 検証後にユーザをリダイレクトする相対または絶対 Salesforce URL (/apex/mypage など)。ユーザは、ID 検証フローが完了すると、成功したかどうかに関係なく destinationUrl にリダイレクトされます。たとえば、ユーザが ID 確認に応答しないことを選択してキャンセルした場合でも、ユーザは destinationUrl にリダイレクトされます。ベストプラクティスとして、このページのコードによって、セキュリティポリシーに適合していること (さらにユーザがブラウザに手動で URL を入力したのではないこと) が手動でチェックされるようにします。たとえば、policy が高保証の場合、リダイレクト先ページでは、アクセスを許可する前にユーザのセッションが高保証であることを確認します。
使用方法
- ユーザがすでに時間ベースのワンタイムパスワード (TOTP) を使用して ID を確認するように登録されている場合、ユーザはワンタイムパスワード ID 検証フローにリダイレクトされて、コードを入力するように求められます。
- ユーザがどの検証方法 (ワンタイムパスワードや Salesforce Authenticator バージョン 2 以降など) にも登録されていない場合、ユーザは、Salesforce Authenticator をダウンロードして使用し、ID を検証するように要求されます。ユーザが異なる検証方法を選択することもできます。
getCurrentSession()
署名
public static Map<String, String> getCurrentSession()
使用方法
例
次の例は、getCurrentSession() で返される対応付け内の名前-値ペアを示します。UsersId では、AuthSession オブジェクト内の対応する項目の名前と一致させるために、名前に「s」が含まれます。
getRequiredSessionLevelForProfile(profileId)
署名
public static Auth.SessionLevel getRequiredSessionLevelForProfile(String profileId)
パラメータ
- profileId
- 型: String
-
15 文字のプロファイル ID。
戻り値
ID profileId のプロファイルでログイン時に必要なセッションセキュリティレベル。各レベルの割り当ては [セッションの設定] でカスタマイズできます。たとえば、高保証レベルが 2 要素認証または特定の ID プロバイダで認証されるユーザにのみ適用されるように設定できます。
getQrCode()
署名
public static Map<String, String> getQrCode()
使用方法
secret は、20 バイトの共有鍵の base32 符号化文字列です。
例
次に、QR コードを要求する方法の例を示します。
次に、返された対応付けの例を示します。
inOrgNetworkRange(ipAddress)
isIpAllowedForProfile(profileId, ipAddress)
署名
public static Boolean isIpAllowedForProfile(String profileId, String ipAddress)
戻り値
型: Boolean
使用方法
| 信頼済み IP 範囲が存在するか? | ユーザは信頼済み IP 範囲内か? | 戻り値 |
|---|---|---|
| はい | はい | true |
| はい | いいえ | false |
| いいえ | N/A | true |
setSessionLevel(level)
署名
public static Void setSessionLevel(Auth.SessionLevel level)
パラメータ
- level
- 型: Auth.SessionLevel
- ユーザに割り当てるセッションセキュリティレベル。各レベルの意味は、各組織の [セッションの設定] でカスタマイズできます。たとえば、2 要素認証または特定の ID プロバイダで認証されたユーザにのみ [高保証] レベルを適用するように設定できます。
戻り値
型: Void
使用方法
例
次に、セッションレベルを設定するためのクラスの例を示します。
validateTotpTokenForKey(sharedKey, totpCode)
署名
public static Boolean validateTotpTokenForKey(String sharedKey, String totpCode)
パラメータ
戻り値
型: Boolean
使用方法
validateTotpTokenForKey(totpSharedKey, totpCode, description)
署名
public static Boolean validateTotpTokenForKey(String totpSharedKey, String totpCode, String description)
パラメータ
- totpSharedKey
- 型: String
- 共有 (秘密) 鍵。totpSharedKey は、20 バイトの共有鍵の base32 符号化文字列である必要があります。
- totpCode
- 型: String
- 検証する時間ベースのワンタイムパスワード (TOTP) コード。
- description
- 型: String
- ID 検証を必要とするアクティビティを説明するカスタムの説明 (「購入を完了してチェックアウト」など)。[設定] ユーザインターフェースでは、このテキストは [ID 検証履歴] の [アクティビティメッセージ] 列に表示されます。description は 128 文字以下にする必要があります。それより長い値を指定すると、128 文字に切り捨てられます。
戻り値
型: Boolean
使用方法
validateTotpTokenForUser(totpCode, description)
署名
public static Boolean validateTotpTokenForUser(String totpCode, String description)
パラメータ
- totpCode
- 型: String
- 検証する時間ベースのワンタイムパスワード (TOTP) コード。
- description
- 型: String
- ID 検証を必要とするアクティビティを説明するカスタムの説明 (「購入を完了してチェックアウト」など)。このテキストは、Salesforce で、および Salesforce Authenticator バージョン 2 以降を使用している場合は Salesforce Authenticator モバイルアプリケーションで、ユーザが自分の ID を検証するときに表示されます。さらに、[設定] ユーザインターフェースでは、このテキストは [ID 検証履歴] の [アクティビティメッセージ] 列に表示されます。description は 128 文字以下にする必要があります。それより長い値を指定すると、128 文字に切り捨てられます。
戻り値
型: Boolean