<?xml version="1.0" encoding="UTF-8"?><api:function-page xml:base="/apidoc/8.0/xdmp.gssServerNegotiate.xml" generated="2015-10-07T16:36:00.016766-07:00" mode="javascript" xmlns:api="http://marklogic.com/rundmc/api"><api:function-name>xdmp.gssServerNegotiate</api:function-name><api:suggest>xdmp.gssservernegotiate</api:suggest><api:suggest>xdmp</api:suggest><api:suggest>gssservernegotiate</api:suggest><api:function-link mode="xquery" fullname="xdmp:gss-server-negotiate">/apidoc/8.0/xdmp:gss-server-negotiate.xml</api:function-link><api:function mode="javascript" name="gssServerNegotiate" type="builtin" lib="xdmp" category="AppServerBuiltins" hidden="false" bucket="MarkLogic Built-In Functions" prefix="xdmp" namespace="http://marklogic.com/xdmp" fullname="xdmp.gssServerNegotiate"><api:summary>
  This function is used for kerberos GSS authentication in application level 
  authentication.
</api:summary><api:params><api:param name="inputToken" type="xs:string"><api:param-description>
    input token received from the client
  </api:param-description><api:param-name>inputToken</api:param-name><api:param-type>String</api:param-type></api:param></api:params><api:return class="javascript">Object</api:return><api:usage schema="negotiate-status.xsd">
  <p xmlns="http://www.w3.org/1999/xhtml">This function passes the input token to gss_accept_sec_context.
     The result is set in the negotiate status.</p>
<api:schema-info/></api:usage><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
var authorization = xdmp.getRequestHeader("Authorization");

if (authorization != "") {
  xdmp.gssServerNegotiate(authorization);
} else {
  xdmp.setResponseCode(401, "Unauthorized");
  xdmp.addResponseHeader("WWW-Authenticate", "Negotiate ");
}
=&gt;
{
  "success":true, 
  "outputToken":"oRQwEqADCgEAoQsGCSqGSIb3EgECAg==", 
  "user":"test1@MLTEST1.LOCAL"
}
</pre>
</api:example></api:function></api:function-page>