SecurityTokenProvider.GetTokenAsync(TimeSpan) Method

Definition

Gets a security token.

public:
 System::Threading::Tasks::Task<System::IdentityModel::Tokens::SecurityToken ^> ^ GetTokenAsync(TimeSpan timeout);
public System.Threading.Tasks.Task<System.IdentityModel.Tokens.SecurityToken> GetTokenAsync (TimeSpan timeout);
member this.GetTokenAsync : TimeSpan -> System.Threading.Tasks.Task<System.IdentityModel.Tokens.SecurityToken>
Public Function GetTokenAsync (timeout As TimeSpan) As Task(Of SecurityToken)

Parameters

timeout
TimeSpan

A TimeSpan that specifies the timeout value for the message that gets the security token.

Returns

The Task that represents the asynchronous read operation and wraps the SecurityToken that represents the security token to get.

Remarks

The GetTokenAsync method is called by the ClientCredentials class when a client sends a SOAP message and a security token is required.

The GetTokenAsync method calls the GetTokenCoreAsync method.

In most cases the timeout parameter is not used by derived classes of SecurityTokenProvider such as UserNameSecurityTokenProvider. However, sometimes retrieving a security token involves distributed messaging. An example is IssuedSecurityTokenProvider used in a federated service. In these cases the timeout parameter is used to avoid exceptions caused by network failures, message loss, and other error conditions.

This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as ArgumentException, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by GetToken(TimeSpan).

Applies to