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

指定函数失败时应存储其他错误信息的位置。

返回值

此函数可以返回其中一个值。

返回代码 说明
WS_S_ASYNC
异步操作仍处于挂起状态。

注解

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