WsRequestSecurityToken 函数 (webservices.h)
从安全令牌服务 (STS) 获取安全令牌,该服务在联合方案中充当令牌颁发者。 此函数在客户端使用,并与 STS 一起执行基于 WS-Trust 的协商步骤,直到获得安全令牌或协商过程失败。
语法
HRESULT WsRequestSecurityToken(
[in] WS_CHANNEL *channel,
const WS_REQUEST_SECURITY_TOKEN_PROPERTY *properties,
[in] ULONG propertyCount,
WS_SECURITY_TOKEN **token,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
参数
[in] channel
获取安全令牌时应进行协商的通道。
提供的通道应已使用适当的WS_SECURITY_DESCRIPTION创建,以满足颁发者的安全要求,然后向颁发者WS_ENDPOINT_ADDRESS开放。 调用方还负责在此函数完成后 关闭 和 释放 通道。
因此,调用此函数时,通道必须处于 WS_CHANNEL_STATE_OPEN 状态。 成功完成此函数后,通道将处于 WS_CHANNEL_STATE_OPEN状态。 完成失败后,它将处于 WS_CHANNEL_STATE_OPEN 状态或 WS_CHANNEL_STATE_FAULTED状态。
properties
在与颁发者协商过程中要使用的可选设置组。
[in] propertyCount
属性数组中的项数。
token
获取的 XML 安全令牌。 这是在成功完成函数调用时设置的,如果在函数执行过程中发生任何故障,则不修改。
如果返回的安全令牌要提供给服务,则返回的安全令牌可以与 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING 一起使用。 不再需要令牌时,必须使用 WsFreeSecurityToken 释放令牌。
[in, optional] asyncContext
有关如何异步调用函数的信息;如果以同步方式调用,则为 NULL 。
[in, optional] error
指定函数失败时应存储其他错误信息的位置。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
异步操作仍处于挂起状态。 |
注解
Windows 7 和 Windows Server 2008 R2:WWSAPI 仅支持由轻型 Web 服务安全配置文件 (LWSSP) 定义的 Ws-Trust 和 Ws-SecureConversation。 有关 Microsoft 实现的详细信息,请参阅 LWSSP 的 MESSAGE 语法 部分。
要求
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |