658 lines
33 KiB
Plaintext
658 lines
33 KiB
Plaintext
// Passport.idl : IDL source for Passport.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (Passport.tlb) and marshalling code.
|
|
|
|
cpp_quote("// Size definitions")
|
|
const int PASSPORT_COOKIES_MAXLEN = 512;
|
|
const int PASSPORT_COOKIES_BUFSIZE = PASSPORT_COOKIES_MAXLEN + 1;
|
|
|
|
const int PASSPORT_EMAIL_MAXLEN = 64 + 1 + 64;
|
|
const int PASSPORT_EMAIL_BUFSIZE = PASSPORT_EMAIL_MAXLEN + 1;
|
|
|
|
const int PASSPORT_NICKNAME_MAXLEN = 30;
|
|
const int PASSPORT_NICKNAME_BUFSIZE = PASSPORT_NICKNAME_MAXLEN + 1;
|
|
|
|
//
|
|
// passport core profile names
|
|
//
|
|
const char* MSPP_PROF_MEMBER_NAME = "membername";
|
|
const char* MSPP_PROF_HI_UID = "memberidhigh";
|
|
const char* MSPP_PROF_LO_UID = "memberidlow";
|
|
const char* MSPP_PROF_VERSION = "profileVersion";
|
|
const char* MSPP_PROF_COUNTRY = "country";
|
|
const char* MSPP_PROF_POSTALCODE = "postalCode";
|
|
const char* MSPP_PROF_REGION = "region";
|
|
const char* MSPP_PROF_CITY = "city";
|
|
const char* MSPP_PROF_LANGPREF = "lang_preference";
|
|
const char* MSPP_PROF_BDAYPREC = "bday_precision";
|
|
const char* MSPP_PROF_BDATE = "birthdate";
|
|
const char* MSPP_PROF_GENDER = "gender";
|
|
const char* MSPP_PROF_PREF_EMAIL = "preferredEmail";
|
|
const char* MSPP_PROF_NICKNAME = "nickname";
|
|
const char* MSPP_PROF_ACCESS = "accessibility";
|
|
const char* MSPP_PROF_WALLET = "wallet";
|
|
const char* MSPP_PROF_DIRECTORY = "directory";
|
|
const char* MSPP_PROF_MSNIA = "inetaccess";
|
|
const char* MSPP_PROF_FLAGS = "flags";
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
[
|
|
object,
|
|
uuid(ACE1AC86-E14F-4f7b-B89A-805A69959680),
|
|
dual,
|
|
helpstring("IDomainMap Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IDomainMap : IUnknown
|
|
{
|
|
[helpstring("Returns information about a given member domain, such as registration URL, etc.")]
|
|
HRESULT GetDomainAttribute([in] BSTR attributeName,
|
|
[in,optional] VARIANT lcid,
|
|
[in,optional] VARIANT domain,
|
|
[out,retval] BSTR *pAttrVal);
|
|
[propget, helpstring("The list of all valid Passport domains, including 'default'")]
|
|
HRESULT Domains([out,retval] VARIANT *pArrayVal);
|
|
[helpstring("Determine whether a given domain name is the name of a domain authority.")]
|
|
HRESULT DomainExists([in] BSTR domainName,
|
|
[out,retval] VARIANT_BOOL* pbExists);
|
|
};
|
|
[
|
|
object,
|
|
uuid(41651BF1-A5C8-11D2-95DF-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportTicket Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportTicket : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("The raw ticket bytes, unencrypted.")] HRESULT unencryptedTicket([out, retval] BSTR *pVal);
|
|
[propput, id(1), helpstring("The raw ticket bytes, unencrypted.")] HRESULT unencryptedTicket([in] BSTR newVal);
|
|
[propget, id(2), helpstring("TRUE if the user has been authenticated to this site/domain within the TimeWindow, and if ForceLogin is true, that they have typed in their password within the TimeWindow.")] HRESULT IsAuthenticated([in] ULONG TimeWindow, [in] VARIANT_BOOL ForceLogin, [in,optional] VARIANT SecureCheck, [out, retval] VARIANT_BOOL *pVal);
|
|
[propget, id(3), helpstring("Age of the ticket, in seconds")] HRESULT TicketAge([out, retval] int *pVal);
|
|
[propget, id(4), helpstring("Number of seconds since the user typed in their password")] HRESULT TimeSinceSignIn([out, retval] int *pVal);
|
|
[propget, id(5), helpstring("The user's 64-bit numeric member ID, encoded as a string")] HRESULT MemberId([out, retval] BSTR *pVal);
|
|
[propget, id(6), helpstring("The lower 32 bits of the member id")] HRESULT MemberIdLow([out, retval] int *pVal);
|
|
[propget, id(7), helpstring("The upper 32 bits of the member id")] HRESULT MemberIdHigh([out, retval] int *pVal);
|
|
[propget, id(8), helpstring("TRUE if the user requested that their password be saved")] HRESULT HasSavedPassword([out, retval] VARIANT_BOOL *pVal);
|
|
[propget, id(9), helpstring("Gets the fully qualified hostname of the signin server for this user")] HRESULT SignInServer([out, retval] BSTR *pVal);
|
|
[propget, id(10), helpstring("Gets the absolute time the ticket was generated")] HRESULT TicketTime([out, retval] long *pVal);
|
|
[propget, id(11), helpstring("Gets the absolute time the member last signed in")] HRESULT SignInTime([out, retval] long *pVal);
|
|
[propget, id(12), helpstring("Gets any Passport Network errors that occurred")] HRESULT Error([out, retval] long *pVal);
|
|
[id(13), helpstring("method DoSecureCheck")] HRESULT DoSecureCheck([in] BSTR bstrSec);
|
|
};
|
|
|
|
[
|
|
|
|
object,
|
|
uuid(5992F4F4-05CB-4944-A426-1E1870266F85),
|
|
dual,
|
|
helpstring("IPassportTicket2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportTicket2 : IPassportTicket
|
|
{
|
|
typedef enum {NeedConsent_No=0, NeedConsent_Yes=1, NeedConsent_Undefined=2} NeedConsentEnum;
|
|
|
|
[id(21), helpstring("method GetProperty")] HRESULT GetProperty([in] BSTR propName, [out, retval] VARIANT* pVal);
|
|
[id(22), helpstring("method SetTertiaryConsent")] HRESULT SetTertiaryConsent([in] BSTR consentCookie);
|
|
[id(23), helpstring("method hasConsent")] HRESULT needConsent([out] ULONG* consentFlags, [out, retval] NeedConsentEnum* pNeedConsent);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(41651BF3-A5C8-11D2-95DF-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportProfile Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportProfile : IDispatch
|
|
{
|
|
[propget, id(DISPID_VALUE), helpstring("Gets a profile attribute by name")] HRESULT Attribute([in] BSTR name, [out, retval] VARIANT *pVal);
|
|
[propput, id(DISPID_VALUE), helpstring("Sets a profile attribute by name")] HRESULT Attribute([in] BSTR name, [in] VARIANT newVal);
|
|
[propget, id(1), helpstring("Gets a profile attribute by numeric index")] HRESULT ByIndex([in] int index, [out, retval] VARIANT *pVal);
|
|
[propput, id(1), helpstring("Sets a profile attribute by numeric index")] HRESULT ByIndex([in] int index, [in] VARIANT newVal);
|
|
[propget, id(2), helpstring("TRUE if the profile token is valid according to its schema")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
|
|
[propget, id(3), helpstring("The name of the schema by which the profile is interpreted. Must be set BEFORE using the object")] HRESULT SchemaName([out, retval] BSTR *pVal);
|
|
[propput, id(3), helpstring("The name of the schema by which the profile is interpreted. Must be set BEFORE using the object")] HRESULT SchemaName([in] BSTR newVal);
|
|
[propget, id(4), helpstring("The raw, unencrypted profile bytes")] HRESULT unencryptedProfile([out, retval] BSTR *pVal);
|
|
[propput, id(4), helpstring("The raw, unencrypted profile bytes")] HRESULT unencryptedProfile([in] BSTR newVal);
|
|
[propget, id(5), helpstring("The raw update string, if any, which can be sent as a 'diff' to the update server")] HRESULT updateString([out,retval] BSTR *pVal);
|
|
};
|
|
[
|
|
object,
|
|
uuid(41651BEF-A5C8-11D2-95DF-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportManager Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportManager : IDispatch
|
|
{
|
|
//Standard Server Side Component Methods
|
|
HRESULT OnStartPage([in] IUnknown* piUnk);
|
|
HRESULT OnEndPage();
|
|
HRESULT OnStartPageECB([in] BYTE *pECB,
|
|
[in,out] DWORD *pBufSize,
|
|
[out, size_is(*pBufSize)] LPSTR pCookieHeader);
|
|
|
|
[
|
|
hidden
|
|
]
|
|
HRESULT _Ticket([out] IPassportTicket** piTicket);
|
|
|
|
[
|
|
hidden
|
|
]
|
|
HRESULT _Profile([out] IPassportProfile** piProfile);
|
|
|
|
[
|
|
id(1),
|
|
helpstring("Returns a URL with the correct login server and path based on the member's domain and optional parameters")
|
|
]
|
|
HRESULT AuthURL([in,optional] VARIANT returnUrl,
|
|
[in,optional] VARIANT TimeWindow,
|
|
[in,optional] VARIANT ForceLogin,
|
|
[in,optional] VARIANT coBrandArgs,
|
|
[in,optional] VARIANT lang_id,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT KPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out, retval] BSTR *pAuthVal);
|
|
|
|
[
|
|
id(2),
|
|
helpstring("TRUE if the user has been authenticated to this site/domain within the TimeWindow, and if ForceLogin is true, that they have typed in their password within the TimeWindow.")
|
|
]
|
|
HRESULT IsAuthenticated([in,optional] VARIANT TimeWindow,
|
|
[in,optional] VARIANT ForceLogin,
|
|
[in,optional] VARIANT CheckSecure,
|
|
[out, retval] VARIANT_BOOL *pVal);
|
|
|
|
[
|
|
id(3),
|
|
helpstring("Returns an HREF with an imbedded image tag to display the Passport logo")
|
|
]
|
|
HRESULT LogoTag([in,optional] VARIANT returnUrl,
|
|
[in,optional] VARIANT TimeWindow,
|
|
[in,optional] VARIANT ForceLogin,
|
|
[in,optional] VARIANT coBrandArgs,
|
|
[in,optional] VARIANT lang_id,
|
|
[in,optional] VARIANT bSecure,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT KPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out, retval] BSTR *pVal);
|
|
|
|
[id(4), helpstring("TRUE if the user has Passport profile data available")]
|
|
HRESULT HasProfile([in,optional] VARIANT ProfileName, [out, retval] VARIANT_BOOL *pVal);
|
|
|
|
[propget, id(5), helpstring("TRUE if the user has an authentication Ticket in this domain, regardless of how old it is")]
|
|
HRESULT HasTicket([out, retval] VARIANT_BOOL *pVal);
|
|
|
|
[propget, id(6), helpstring("TRUE if this page view is the FIRST page view after the user was sent to the login server, determined by new valid cookie data in the query string")] HRESULT FromNetworkServer([out, retval] VARIANT_BOOL *pVal);
|
|
[id(7), helpstring("TRUE if the specified flag has been raised in the processing of this user's page view")] HRESULT HasFlag([in,optional] VARIANT flagMask, [out, retval] VARIANT_BOOL *pVal);
|
|
[propget, id(8), helpstring("The age of the authentication ticket, in seconds")] HRESULT TicketAge([out, retval] int *pVal);
|
|
[propget, id(9), helpstring("Number of seconds since the last time the user typed in their password")] HRESULT TimeSinceSignIn([out, retval] int *pVal);
|
|
[id(10), helpstring("Returns information about a given member domain, such as registration URL, etc.")] HRESULT GetDomainAttribute([in] BSTR attributeName, [in,optional] VARIANT lcid, [in,optional] VARIANT domain, [out,retval] BSTR *pAttrVal);
|
|
[id(11), helpstring("Returns the member domain part of a member's fully qualified name")] HRESULT DomainFromMemberName([in,optional] VARIANT memberName, [out,retval] BSTR *pDomainName);
|
|
[propget, id(12), helpstring("Gets a profile attribute by numeric index")] HRESULT ProfileByIndex([in] int index, [out, retval] VARIANT *pVal);
|
|
[propput, id(12), helpstring("Sets a profile attribute by numeric index")] HRESULT ProfileByIndex([in] int index, [in] VARIANT newVal);
|
|
|
|
[id(13), helpstring("Manual initialization. Puts cookies in a SAFEARRAY in the output parameter")]
|
|
HRESULT OnStartPageManual([in] BSTR queryStringT,
|
|
[in] BSTR queryStringP,
|
|
[in] BSTR MSPAuthCookie,
|
|
[in] BSTR MSPProfCookie,
|
|
[in] BSTR MSPConsentCookie,
|
|
[in,optional] VARIANT vMSPSecCookie,
|
|
[out, retval] VARIANT *pSetCookieArray);
|
|
|
|
[propget, id(14), helpstring("TRUE if the user requested that their password be saved")] HRESULT HasSavedPassword([out, retval] VARIANT_BOOL *pVal);
|
|
[id(15), helpstring("Commit profile updates. MUST BE CALLED BEFORE HEADERS ARE SENT, as it will set cookies (unless you disable that in the registry)")] HRESULT Commit([out,retval] BSTR *pNewProfileCookieHeader);
|
|
[propget, id(DISPID_VALUE), helpstring("Returns the value a profile attribute, such as alias or gender")] HRESULT Profile([in] BSTR attributeName, [out, retval] VARIANT *pVal);
|
|
[propput, id(DISPID_VALUE), helpstring("Sets the value a profile attribute, such as alias or gender")] HRESULT Profile([in] BSTR attributeName, [in] VARIANT newVal);
|
|
[hidden, propget, id(16), helpstring("Gets the absolute time the ticket was generated")] HRESULT TicketTime([out, retval] long *pVal);
|
|
[hidden, propget, id(17), helpstring("Gets the absolute time the member last signed in")] HRESULT SignInTime([out, retval] long *pVal);
|
|
[hidden, propget, id(18), helpstring("The list of all valid Passport domains, including 'default'")] HRESULT Domains([out,retval] VARIANT *pArrayVal);
|
|
[propget, id(19), helpstring("Returns any network error code associated with this request")] HRESULT Error([out,retval] long *pErrorVal);
|
|
[hidden, helpstring("Initialize Passport Manager for use within an ISAPI filter")] HRESULT OnStartPageFilter([in] BYTE* pPFC, [in,out] DWORD* pBufSize, [out, size_is(*pBufSize)] LPSTR pCookieHeader);
|
|
[id(20), helpstring("Initialize Passport Manager object using Request/Response ASP objects")] HRESULT OnStartPageASP([in] IDispatch* pdispRequest, [in] IDispatch* pdispResponse);
|
|
[hidden, id(21), helpstring("method GetServerInfo")] HRESULT GetServerInfo([out,retval] BSTR *pbstrOut);
|
|
[id(22), helpstring("Returns true if the currently signed on user has consent")] HRESULT HaveConsent([in] VARIANT_BOOL bNeedFullConsent, [in] VARIANT_BOOL bNeedBirthdate, [out,retval] VARIANT_BOOL* pbHaveConsent);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(8ca48d6a-0b51-4f7a-9475-b0a8b59c3999),
|
|
dual,
|
|
helpstring("IPassportManager2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportManager2 : IPassportManager
|
|
{
|
|
[id(23),helpstring("Partners should use this call to initiate user logon. It does redirect inside")]
|
|
HRESULT LoginUser([in, optional] VARIANT returnUrl,
|
|
[in, optional] VARIANT TimeWindow,
|
|
[in, optional] VARIANT ForceLogin,
|
|
[in, optional] VARIANT coBrandTemplate,
|
|
[in, optional] VARIANT lang_id,
|
|
[in, optional] VARIANT NameSpace,
|
|
[in, optional] VARIANT KPP,
|
|
[in, optional] VARIANT UseSecureAuth,
|
|
[in, optional] VARIANT ExtraParams);
|
|
[
|
|
id(24),
|
|
helpstring("Returns a URL used for login on the member's domain and optional parameters")
|
|
]
|
|
HRESULT AuthURL2([in,optional] VARIANT returnUrl,
|
|
[in,optional] VARIANT TimeWindow,
|
|
[in,optional] VARIANT ForceLogin,
|
|
[in,optional] VARIANT coBrandArgs,
|
|
[in,optional] VARIANT lang_id,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT KPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out, retval] BSTR *pAuthVal);
|
|
[
|
|
id(25),
|
|
helpstring("Returns an HREF with an imbedded image tag to display the Passport logo")
|
|
]
|
|
HRESULT LogoTag2([in,optional] VARIANT returnUrl,
|
|
[in,optional] VARIANT TimeWindow,
|
|
[in,optional] VARIANT ForceLogin,
|
|
[in,optional] VARIANT coBrandArgs,
|
|
[in,optional] VARIANT lang_id,
|
|
[in,optional] VARIANT bSecure,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT KPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out, retval] BSTR *pVal);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(1451151f-90a0-491b-b8e1-81a13767ed98),
|
|
dual,
|
|
helpstring("IPassportManager3 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportManager3 : IPassportManager2
|
|
{
|
|
[propget, id(30), helpstring("Returns the value a ticket attribute, such as security level")]
|
|
HRESULT Ticket([in] BSTR attributeName, [out, retval] VARIANT *pVal);
|
|
[
|
|
id(31),
|
|
helpstring("Returns config settings the registry")
|
|
]
|
|
HRESULT GetCurrentConfig([in] BSTR name, [out, retval] VARIANT *pVal);
|
|
[
|
|
id(32),
|
|
helpstring("Returns LogoutURL")
|
|
]
|
|
HRESULT LogoutURL([in,optional] VARIANT returnUrl,
|
|
[in,optional] VARIANT coBrandArgs,
|
|
[in,optional] VARIANT lang_id,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT bSecure,
|
|
// [in,optional] VARIANT functionArea,
|
|
[out, retval] BSTR *pVal);
|
|
|
|
[id(33),helpstring("To get AuthURL and AuthHeaders")]
|
|
HRESULT GetLoginChallenge([in, optional] VARIANT returnUrl,
|
|
[in, optional] VARIANT TimeWindow,
|
|
[in, optional] VARIANT ForceLogin,
|
|
[in, optional] VARIANT coBrandTemplate,
|
|
[in, optional] VARIANT lang_id,
|
|
[in, optional] VARIANT NameSpace,
|
|
[in, optional] VARIANT KPP,
|
|
[in, optional] VARIANT UseSecureAuth,
|
|
[in, optional] VARIANT ExtraParams,
|
|
[out, optional] VARIANT *pAuthHeader,
|
|
[out, retval] BSTR* pAuthVal
|
|
);
|
|
|
|
[propget, id(34), helpstring("PUID")]
|
|
HRESULT HexPUID([out, retval] BSTR *pVal);
|
|
// not needed
|
|
// [propget, id(35), helpstring("PUID")]
|
|
// HRESULT PUID([out, retval] BSTR *pVal);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(41651BF9-A5C8-11D2-95DF-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportCrypt Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportCrypt : IDispatch
|
|
{
|
|
[id(1), helpstring("Encrypt a blob of data")] HRESULT Encrypt([in] BSTR rawData, [out,retval] BSTR *pEncrypted);
|
|
[id(2), helpstring("Decrypt a blob of data")] HRESULT Decrypt([in] BSTR rawData, [out,retval] BSTR *pUnencrypted);
|
|
[hidden, propget, id(3), helpstring("keyVersion number for multiple key support")] HRESULT keyVersion([out, retval] int *pVal);
|
|
[hidden, propput, id(3), helpstring("keyVersion number for multiple key support")] HRESULT keyVersion([in] int newVal);
|
|
[propget, id(4), helpstring("Find out if this object is capable of encryption")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
|
|
[hidden, propput, id(5), helpstring("For advanced users only: this sets the keyMaterial of the encryption algorithm")] HRESULT keyMaterial([in] BSTR newVal);
|
|
[id(6), helpstring("Compress a string.")] HRESULT Compress([in] BSTR bstrIn, [out,retval] BSTR *pbstrOut);
|
|
[id(7), helpstring("Decompress a string.")] HRESULT Decompress([in] BSTR bstrIn, [out,retval] BSTR *pbstrOut);
|
|
[id(8), propput, helpstring("Use a different set of keys based on site name.")] HRESULT site([in] BSTR bstrSiteName);
|
|
[id(9), helpstring("on start page")] HRESULT OnStartPage([in] IUnknown* piUnk);
|
|
[id(10), propput, helpstring("Use a different set of keys based on host name.")] HRESULT host([in] BSTR bstrHostName);
|
|
};
|
|
[
|
|
object,
|
|
uuid(A0082CF5-AFF5-11D2-95E3-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportAdmin Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportAdmin : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("TRUE if all configuration is ok and Passport objects are functional")]
|
|
HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
|
|
|
|
[propget, id(2), helpstring("Get the description for configuration error")]
|
|
HRESULT ErrorDescription([out, retval] BSTR *pVal);
|
|
|
|
[id(3), helpstring("Adds a key to the key store")]
|
|
HRESULT addKey(
|
|
[in] BSTR keyMaterial,
|
|
[in] int version,
|
|
[in] long expires,
|
|
[out,retval] VARIANT_BOOL *ok
|
|
);
|
|
|
|
[id(4), helpstring("Removes a key from the store")]
|
|
HRESULT deleteKey([in] int version);
|
|
|
|
[id(5), helpstring("Change the exipration time on a key")]
|
|
HRESULT setKeyTime([in] int version, [in] int fromNow);
|
|
|
|
[propget, id(6), helpstring("Get the current key version number")]
|
|
HRESULT currentKeyVersion([out,retval] int *pCur);
|
|
|
|
[propput, id(6), helpstring("Set the current key version number")]
|
|
HRESULT currentKeyVersion([in] int cur);
|
|
|
|
[hidden, id(7), helpstring("Refresh nexus and registry configuration")]
|
|
HRESULT Refresh([in] VARIANT_BOOL bWait, [out,retval] VARIANT_BOOL* pbSuccess);
|
|
};
|
|
[
|
|
object,
|
|
uuid(876181A0-3B05-11d3-9ACD-0080C712D19C),
|
|
dual,
|
|
helpstring("IPassportAdminEx Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportAdminEx : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("TRUE if all configuration is ok and Passport objects are functional")]
|
|
HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
|
|
|
|
[propget, id(2), helpstring("Get the description for configuration error")]
|
|
HRESULT ErrorDescription([out, retval] BSTR *pVal);
|
|
|
|
[id(3), helpstring("Adds a key to the key store")]
|
|
HRESULT addKey(
|
|
[in] BSTR keyMaterial,
|
|
[in] int version,
|
|
[in] long expires,
|
|
[out,retval] VARIANT_BOOL *ok
|
|
);
|
|
|
|
[id(4), helpstring("Removes a key from the store")]
|
|
HRESULT deleteKey([in] int version);
|
|
|
|
[id(5), helpstring("Change the exipration time on a key")]
|
|
HRESULT setKeyTime([in] int version, [in] int fromNow);
|
|
|
|
[propget, id(6), helpstring("Get the current key version number")]
|
|
HRESULT currentKeyVersion([out,retval] int *pCur);
|
|
|
|
[propput, id(6), helpstring("Set the current key version number")]
|
|
HRESULT currentKeyVersion([in] int cur);
|
|
|
|
[hidden, id(7), helpstring("Refresh nexus and registry configuration")]
|
|
HRESULT Refresh([in] VARIANT_BOOL bWait, [out,retval] VARIANT_BOOL* pbSuccess);
|
|
|
|
[id(8), helpstring("Adds a key to the key store")]
|
|
HRESULT addKeyEx( [in] BSTR keyMaterial,
|
|
[in] int nVersion,
|
|
[in] long expires,
|
|
[in,optional] VARIANT vSiteName,
|
|
[out,retval] VARIANT_BOOL* ok
|
|
);
|
|
|
|
[id(9), helpstring("Removes a key from the store")]
|
|
HRESULT deleteKeyEx([in] int nVersion,
|
|
[in,optional] VARIANT vSiteName);
|
|
|
|
[id(10), helpstring("Change the exipration time on a key")]
|
|
HRESULT setKeyTimeEx(
|
|
[in] int nVersion,
|
|
[in] int fromNow,
|
|
[in,optional] VARIANT vSiteName);
|
|
|
|
[id(11), helpstring("Get the current key version number")]
|
|
HRESULT getCurrentKeyVersionEx(
|
|
[in,optional] VARIANT vSiteName,
|
|
[out,retval] int* pCur);
|
|
|
|
[id(12), helpstring("Set the current key version number")]
|
|
HRESULT putCurrentKeyVersionEx(
|
|
[in] int cur,
|
|
[in,optional] VARIANT vSiteName);
|
|
|
|
[id(13), helpstring("Set the nexus password")]
|
|
HRESULT setNexusPassword(
|
|
[in] BSTR bstrPwd);
|
|
};
|
|
[
|
|
object,
|
|
uuid(74EB2513-E239-11D2-95E9-00C04F8E7A70),
|
|
dual,
|
|
helpstring("IPassportFastAuth Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportFastAuth : IDispatch
|
|
{
|
|
[id(1), helpstring("method IsAuthenticated")]
|
|
HRESULT IsAuthenticated(
|
|
[in] BSTR bstrTicket,
|
|
[in] BSTR bstrProfile,
|
|
[in,optional] VARIANT vSecure,
|
|
[in,optional] VARIANT vTimeWindow,
|
|
[in,optional] VARIANT vForceLogin,
|
|
[in,optional] VARIANT vSiteName,
|
|
[in,optional] VARIANT vDoSecureCheck,
|
|
[out,retval] VARIANT_BOOL* pbIsAuthenticated
|
|
);
|
|
|
|
[id(2), helpstring("method LogoTag")]
|
|
HRESULT LogoTag([in] BSTR bstrTicket,
|
|
[in] BSTR bstrProfile,
|
|
[in,optional] VARIANT vRU,
|
|
[in,optional] VARIANT vTimeWindow,
|
|
[in,optional] VARIANT vForceLogin,
|
|
[in,optional] VARIANT vCoBrand,
|
|
[in,optional] VARIANT vLangId,
|
|
[in,optional] VARIANT vSecure,
|
|
[in,optional] VARIANT vLogoutURL,
|
|
[in,optional] VARIANT vSiteName,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT vKPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out,retval] BSTR* pbstrLogoTag
|
|
);
|
|
|
|
[id(3), helpstring("method AuthURL")]
|
|
HRESULT AuthURL([in,optional] VARIANT vTicket,
|
|
[in,optional] VARIANT vProfile,
|
|
[in,optional] VARIANT vRU,
|
|
[in,optional] VARIANT vTimeWindow,
|
|
[in,optional] VARIANT vForceLogin,
|
|
[in,optional] VARIANT vCoBrand,
|
|
[in,optional] VARIANT vLangId,
|
|
[in,optional] VARIANT vSecure,
|
|
[in,optional] VARIANT vLogoutURL,
|
|
[in,optional] VARIANT vReserved1,
|
|
[in,optional] VARIANT vSiteName,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT vKPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out,retval] BSTR* pbstrAuthURL
|
|
);
|
|
|
|
[id(4), helpstring("Retrieve Passport Ticket and Profile from a Filter Context"), hidden]
|
|
HRESULT GetTicketAndProfilePFC(
|
|
[in] BYTE* pbPFC,
|
|
[in] BYTE* pbPPH,
|
|
[out] BSTR* pbstrTicket,
|
|
[out] BSTR* pbstrProfile,
|
|
[out] BSTR* pbstrSecure,
|
|
[out] BSTR* pbstrSiteName
|
|
);
|
|
|
|
[id(5), helpstring("Retrieve Passport Ticket and Profile from an Extension Control Block"), hidden]
|
|
HRESULT GetTicketAndProfileECB(
|
|
[in] BYTE* pbECB,
|
|
[out] BSTR* pbstrTicket,
|
|
[out] BSTR* pbstrProfile,
|
|
[out] BSTR* pbstrSecure,
|
|
[out] BSTR* pbstrSiteName
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(fb41a7d8-3739-4468-bdf1-e5b4b2eaeb4b),
|
|
dual,
|
|
helpstring("IPassportFastAuth2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportFastAuth2 : IPassportFastAuth
|
|
{
|
|
[id(6), helpstring("method LogoTag2")]
|
|
HRESULT LogoTag2([in] BSTR bstrTicket,
|
|
[in] BSTR bstrProfile,
|
|
[in,optional] VARIANT vRU,
|
|
[in,optional] VARIANT vTimeWindow,
|
|
[in,optional] VARIANT vForceLogin,
|
|
[in,optional] VARIANT vCoBrand,
|
|
[in,optional] VARIANT vLangId,
|
|
[in,optional] VARIANT vSecure,
|
|
[in,optional] VARIANT vLogoutURL,
|
|
[in,optional] VARIANT vSiteName,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT vKPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out,retval] BSTR* pbstrLogoTag
|
|
);
|
|
[id(7), helpstring("method AuthURL2")]
|
|
HRESULT AuthURL2([in,optional] VARIANT vTicket,
|
|
[in,optional] VARIANT vProfile,
|
|
[in,optional] VARIANT vRU,
|
|
[in,optional] VARIANT vTimeWindow,
|
|
[in,optional] VARIANT vForceLogin,
|
|
[in,optional] VARIANT vCoBrand,
|
|
[in,optional] VARIANT vLangId,
|
|
[in,optional] VARIANT vSecure,
|
|
[in,optional] VARIANT vLogoutURL,
|
|
[in,optional] VARIANT vReserved1,
|
|
[in,optional] VARIANT vSiteName,
|
|
[in,optional] VARIANT NameSpace,
|
|
[in,optional] VARIANT vKPP,
|
|
[in,optional] VARIANT SecureLevel,
|
|
[out,retval] BSTR* pbstrAuthURL
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(5602E147-27F6-11d3-94DD-00C04F72DC08),
|
|
dual,
|
|
helpstring("IPassportFactory Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPassportFactory : IDispatch
|
|
{
|
|
HRESULT CreatePassportManager(
|
|
[out,retval] IDispatch** ppdispPassportManager
|
|
);
|
|
};
|
|
[
|
|
uuid(41651BE3-A5C8-11D2-95DF-00C04F8E7A70),
|
|
version(1.0),
|
|
helpstring("Passport 1.0 Type Library")
|
|
]
|
|
library PASSPORTLib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(41651BF0-A5C8-11D2-95DF-00C04F8E7A70),
|
|
helpstring("Passport Manager")
|
|
]
|
|
coclass Manager
|
|
{
|
|
[default] interface IPassportManager3;
|
|
interface IPassportManager2;
|
|
interface IPassportManager;
|
|
interface IDomainMap;
|
|
};
|
|
[
|
|
uuid(41651BF2-A5C8-11D2-95DF-00C04F8E7A70),
|
|
helpstring("Passport Ticket Parser")
|
|
]
|
|
coclass Ticket
|
|
{
|
|
[default] interface IPassportTicket2;
|
|
interface IPassportTicket;
|
|
};
|
|
[
|
|
uuid(41651BF4-A5C8-11D2-95DF-00C04F8E7A70),
|
|
helpstring("Passport Profile Object")
|
|
]
|
|
coclass Profile
|
|
{
|
|
[default] interface IPassportProfile;
|
|
};
|
|
[
|
|
uuid(41651BFA-A5C8-11D2-95DF-00C04F8E7A70),
|
|
helpstring("Passport Encryption Class")
|
|
]
|
|
coclass Crypt
|
|
{
|
|
[default] interface IPassportCrypt;
|
|
};
|
|
[
|
|
uuid(A0082CF6-AFF5-11D2-95E3-00C04F8E7A70),
|
|
helpstring("Administration Interface for Passport Objects")
|
|
]
|
|
coclass Admin
|
|
{
|
|
[default] interface IPassportAdminEx;
|
|
interface IPassportAdmin;
|
|
};
|
|
[
|
|
uuid(5602E146-27F6-11d3-94DD-00C04F72DC08),
|
|
helpstring("PassportFastAuth Class")
|
|
]
|
|
coclass FastAuth
|
|
{
|
|
[default] interface IPassportFastAuth2;
|
|
interface IPassportFastAuth;
|
|
};
|
|
[
|
|
uuid(74EB2514-E239-11D2-95E9-00C04F8E7A70),
|
|
helpstring("PassportFactory Class")
|
|
]
|
|
coclass PassportFactory
|
|
{
|
|
[default] interface IPassportFactory;
|
|
};
|
|
};
|