xpmgr/BuildTools/Include/TSGAuthenticationEngine.idl

70 lines
2.7 KiB
Plaintext

import "oaidl.idl";
import "ocidl.idl";
// This interface method is a callback from the policy engine, for a
// AuthorizeConnection request
[
object,
uuid(2c3e2e73-a782-47f9-8dfb-77ee1ed27a03),
helpstring("interface ITSGAuthenticateUserSink")
]
interface ITSGAuthenticateUserSink : IUnknown
{
//
// Called by the authentication engine on a successful authentication
//
[helpstring("Callback function on user authenticated")]
HRESULT OnUserAuthenticated(
[in] BSTR userName, // Name of the user
[in] BSTR userDomain, // Domain of the user
[in] ULONG_PTR context, // Context information
[in, optional] HANDLE_PTR userToken); // Optional - user token.
//
// Called by the authentication engine on a failed authentication
//
[helpstring("Callback function on user authentication failed")]
HRESULT OnUserAuthenticationFailed(
[in] ULONG_PTR context, // Context information
[in] HRESULT genericErrorCode, // Windows defined error code
[in] HRESULT specificErrorCode); // Authentication plugin specific
//
// TSG triggers a silent re-auth
//
[helpstring("Authentication engine calls this method to initiate silent re-auth")]
HRESULT ReauthenticateUser(
[in] ULONG_PTR context); // Context information
//
// Disconnect the current user
//
[helpstring("Authentication engine calls this method to disconnect the current user")]
HRESULT DisconnectUser(
[in] ULONG_PTR context); // Context information
};
[
object,
uuid(9ee3e5bf-04ab-4691-998c-d7f622321a56),
helpstring("interface ITSGAuthenticationEngine")
]
interface ITSGAuthenticationEngine : IUnknown
{
[helpstring("TSG calls this method on the authentication engine to authenticate the user")]
HRESULT AuthenticateUser(
[in] GUID mainSessionId, // A unique identifier to distinguish the connection
[in] BYTE *cookieData, // UAG cookie
[in] ULONG numCookieBytes, // Number of cookie byte
[in] ULONG_PTR context, // Some context to call back on
[in] ITSGAuthenticateUserSink *pSink); // Sink object
[helpstring("TSG calls this method to cancel an ongoing authentication")]
HRESULT CancelAuthentication(
[in] GUID mainSessionId, // A unique identifier to distinguish the connection
[in] ULONG_PTR context); // Some context to call back on
};