StreamLink for Silverlight
AuthenticatingKeyMasterCredentialsProvider Class
StreamLink for SilverlightCaplin.StreamLink.Authentication.KeyMasterAuthenticatingKeyMasterCredentialsProvider
An implementation of ICredentialsProvider that will get Liberator login tokens from a HTTP server that requires authentication and, optionally (if configured), can 'keep-alive' HTTP sessions associated with that HTTP authentication (so avoiding the need for the instance to login again under error-free conditions). Liberator login tokens that are obtained via instances of this class are returned in the standard KeyMaster format.
Declaration Syntax
C#Visual BasicVisual C++
public class AuthenticatingKeyMasterCredentialsProvider : KeyMasterCredentialsProvider, IConnectionListener
Public Class AuthenticatingKeyMasterCredentialsProvider _
	Inherits KeyMasterCredentialsProvider _
	Implements IConnectionListener
public ref class AuthenticatingKeyMasterCredentialsProvider : public KeyMasterCredentialsProvider, 
	IConnectionListener
Members
All MembersConstructorsMethods



IconMemberDescription
AuthenticatingKeyMasterCredentialsProvider(StreamLink, IList<(Of <(Uri>)>), IDictionary<(Of <(String, String>)>), NetworkCredential, Uri, Uri, Int32, Int64)
Creates an AuthenticatingKeyMasterCredentialsProvider which performs polling of a session keep-alive URI and uses a specified request timeout.

AuthenticatingKeyMasterCredentialsProvider(StreamLink, IList<(Of <(Uri>)>), IDictionary<(Of <(String, String>)>), NetworkCredential, Uri, Uri, Int64)
Creates an AuthenticatingKeyMasterCredentialsProvider which performs polling of a session keep-alive URI and uses the default request timeout.

AuthenticatingKeyMasterCredentialsProvider(StreamLink, IList<(Of <(Uri>)>), IDictionary<(Of <(String, String>)>), NetworkCredential, Uri, Int32)
Creates an AuthenticatingKeyMasterCredentialsProvider which performs no polling of any session keep-alive URI.

AuthenticatingKeyMasterCredentialsProvider(StreamLink, IList<(Of <(Uri>)>), IDictionary<(Of <(String, String>)>), NetworkCredential, Uri)
Creates an AuthenticatingKeyMasterCredentialsProvider which performs no polling of any session keep-alive URI and uses the default request timeout.

Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Finalize()()()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
GetHashCode()()()
Serves as a hash function for a particular type.
(Inherited from Object.)
GetType()()()
Gets the Type of the current instance.
(Inherited from Object.)
MemberwiseClone()()()
Creates a shallow copy of the current Object.
(Inherited from Object.)
ToString()()()
Returns a String that represents the current Object.
(Inherited from Object.)
Remarks

In a typical setup, the Keymaster web application sits behind a login page or other authentication mechanism. The user logs into the Keymaster using the credentials required by the authentication mechanism. Once logged in, the user is able to access KeyMaster tokens. If required, the user may obtain further tokens from the KeyMaster, so long as they remain logged in (that is, so long as the the associated HTTP session remains valid).

To keep a HTTP session alive, StreamLink.NET reads HTTP session-cookies from HTTP responses and adds them to subsequent requests that go to the same server. Session-cookie are transferred (between HTTP server and HTTP client) using HTTP headers. To manage the session-cookie accross many requests and responses, AuthenticatingKeyMasterCredentialsProvider must be told which HTTP response header to find the session-cookie in and in which HTTP request header to place the session-cookie in subsequent requests. This mapping of response header name to request header name is configured in the

CopyC#
headerKeyMapping
parameter passed to the constructor.

StreamLink for Silverlight will allow the browser to handle session-cookies and headers in order to keep the session alive.

If the additional polling requests that are typically required for HTTP session keep-alive are not desired or not required (because the user's session will not time out) use the overloaded constructors that does not have a

CopyC#
pollingInterval
parameter) or pass the value
CopyC#
0
(zero) in
CopyC#
pollingInterval
.

If the product in use is StreamLink for Silverlight then the application server that hosts KeyMaster must provide a valid clientaccesspolicy.xml/crossdomain.xml file in order to satisfy Silverlight security restrictions.

Inheritance Hierarchy
Object
KeyMasterCredentialsProvider
 AuthenticatingKeyMasterCredentialsProvider

Assembly: Caplin.StreamLink.Silverlight (Module: Caplin.StreamLink.Silverlight) Version: 5.0.16.0 (5.0.16.0)