Validates user-provided one-time passwords.
Namespace: Microsoft.Clm
Assembly: Microsoft.Clm.Common (in microsoft.clm.common.dll)

Usage

Visual Basic
Dim instance As ISecretProvider
Dim secrets As String()
Dim request As Request
Dim throwException As Boolean
Dim returnValue As Boolean

returnValue = instance.ValidateUserSecrets(secrets, request, throwException)

Syntax

Visual Basic
Function ValidateUserSecrets ( _
		secrets As String(), _
		request As Request, _
		throwException As Boolean _
) As Boolean
C#
bool ValidateUserSecrets (
		string[] secrets,
		Request request,
		bool throwException
)
C++
bool ValidateUserSecrets (
		array<String^>^ secrets, 
		Request^ request, 
		bool throwException
)
J#
boolean ValidateUserSecrets (
		String[] secrets, 
		Request request, 
		boolean throwException
)
JScript
function ValidateUserSecrets (
		secrets : String[], 
		request : Request, 
		throwException : boolean
) : boolean

Parameters

secrets

An array of String objects that contain the one-time passwords to be validated. This array can be retrieved by calling the GetSecrets method.

request

A Request object that describes a FIM CM request.

throwException

If the method should throw an exception if the validation fails, set to true; otherwise, false.

Return Value

true if the one-time passwords pass validation; otherwise, false.

Remarks

This method validates the one-time passwords against information in the provided Request object, and performs the following validation tests:

  1. Checks the number of one-time password matches.

  2. Performs CRC validation of the one-time passwords.

  3. Checks the hash matches of the one-time passwords.

  4. Verifies that the XML document that contains the one-time passwords has not been tampered with.

  5. Checks that the one-time passwords match.

  6. Checks that the one-time passwords have not expired.


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows 2008 x64 Edition

Target Platforms

Windows XP SP3, Windows Vista SP1+, Windows 7, Windows Server 2008, Windows Server 2008 R2

See Also