从 WCF 方法 OperationContext 中提取 Kerberos 票证

Extracting Kerberos Ticket from WCF method OperationContext

我有一个使用 Kerberos 身份验证的支持 WCF REST 的 Web 服务。 OperationContext 包含我希望从 ADFS 收到的所有内容。但是,如何提取实际的 Kerberos 票证?我需要这张票来生成 KerberosReceiverSecurityToken,以便我可以与 ADFS 通信。
使用 WireShark,我能够在 HTTP 级别看到票证。我是否需要实施自定义 HTTP 处理程序来提取票证?

感谢帮助!!

foreach(var header in HttpContext.Current.Request.Headers)
{
  string headerVal = HttpContext.Current.Request.Headers[header];
  if(headerVal.StartsWith("Negotiate"))
  {
    string parts[] = headerValStr.Split(' ');
    string kerberosStr = parts[1];

    //if a header token begins with "YII" its kerberos
    //otherwise its likely NTLM (or other)
    if(kerberosStr.StartsWith("YII"))
    {
      retVal = Convert.FromBase64String(kerberosStr);
      break;
    }
  }
}