//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ namespace System.ServiceModel.Security { using System; using System.IdentityModel.Tokens; using System.Runtime.InteropServices; using System.ServiceModel; using System.IdentityModel.Protocols.WSTrust; /// /// A service contract that defines the methods which wrap the Message-oriented /// operation contracts exposed by . /// [ServiceContract] [ComVisible(false)] public interface IWSTrustChannelContract : IWSTrustContract { /// /// Sends a WS-Trust Cancel message to an endpoint. /// /// The that represents the request to the STS. /// The representing the STS response. System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Cancel(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request); /// /// Asynchronously sends a WS-Trust Cancel message to an endpoint. /// /// The that represents the request to the STS. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send /// request from other requests. /// An object that represents the asynchronous send, which could still /// be pending. IAsyncResult BeginCancel(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, AsyncCallback callback, object state); /// /// Completes the asynchronous send operation initiated by . /// /// A reference to the outstanding asynchronous send request. /// The representing the STS response. void EndCancel(IAsyncResult result, out System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse response); /// /// Sends a WS-Trust Issue message to an endpoint STS /// /// The that represents the request to the STS. /// A that represents the token issued by the STS. SecurityToken Issue(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request); /// /// Sends a WS-Trust Issue message to an endpoint STS /// /// The that represents the request to the STS. /// The that represents the response from /// the STS. /// A that represents the token issued by the STS. SecurityToken Issue(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, out System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse response); /// /// Asynchronously sends a WS-Trust Renew message to an endpoint. /// /// The that represents the request to the STS. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send /// request from other requests. /// An object that represents the asynchronous send, which could still /// be pending. IAsyncResult BeginIssue(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, AsyncCallback callback, object asyncState); /// /// Completes the asynchronous send operation initiated by . /// /// A reference to the outstanding asynchronous send request. /// The representing the STS response. /// A that represents the token issued by the STS. SecurityToken EndIssue(IAsyncResult result, out System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse response); /// /// Sends a WS-Trust Renew message to an endpoint. /// /// The that represents the request to the STS. /// The representing the STS response. System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Renew(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request); /// /// Asynchronously sends a WS-Trust Renew message to an endpoint. /// /// The that represents the request to the STS. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send /// request from other requests. /// An object that represents the asynchronous send, which could still /// be pending. IAsyncResult BeginRenew(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, AsyncCallback callback, object state); /// /// Completes the asynchronous send operation initiated by . /// /// A reference to the outstanding asynchronous send request. /// The representing the STS response. void EndRenew(IAsyncResult result, out System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse response); /// /// Sends a WS-Trust Validate message to an endpoint. /// /// The that represents the request to the STS. /// The representing the STS response. System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Validate(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request); /// /// Asynchronously sends a WS-Trust Validate message to an endpoint. /// /// The that represents the request to the STS. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send /// request from other requests. /// An object that represents the asynchronous send, which could still /// be pending. IAsyncResult BeginValidate(System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, AsyncCallback callback, object state); /// /// Completes the asynchronous send operation initiated by . /// /// A reference to the outstanding asynchronous send request. /// The representing the STS response. void EndValidate(IAsyncResult result, out System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse response); } }