3.1.4.2 GetAuthorizationCookie

A DSS calls the GetAuthorizationCookie method to authenticate and authorize access to the Server Sync Web Service. The USS sends back an authorization cookie that is used in the GetCookie operation.

 <wsdl:operation name="GetAuthorizationCookie">
 <wsdl:input message="tns:GetAuthorizationCookieSoapIn" />
   <wsdl:output message="tns:GetAuthorizationCookieSoapOut" />
 </wsdl:operation>
  

The SOAP operation is defined as follows:

 <soap:operation soapAction="http://www.microsoft.com/SoftwareDistribut
 ion/Server/DssAuthWebService/GetAuthorizationCookie" style="document" />

Request validation:

The USS validates inputs as specified in the following table. If any of the inputs are not valid, the USS MUST return a SOAP fault message to the DSS with the <ErrorCode> set, as shown in the table.<28>

Parameter

Validation conditions

ErrorCode

accountName

MUST not be NULL or a zero-length string. The format of this field MUST be consistent with FQDN requirements (that is, it does not contain characters that are not valid for a FQDN, as specified in [RFC1035] section 2.3).

InvalidParameters

accountGuid

MUST not be NULL or a zero-length string. The format of this field MUST be consistent with the GUID format, as specified in section 2.2.5.1.

InvalidParameters

Data processing:

The USS MUST process this message as follows:

  1. Locate the entry identified by the accountGuid element in the DSS Table.

  2. If not found, initialize and insert a new entry in the DSS Table containing the accountGuid and accountName elements.

  3. The USS MUST compose a GetAuthorizationCookieResponse message in response to the DSS, as follows:

    • Generate an AuthorizationCookie element for the DSS.

    • Initialize the PlugInId element to "DssTargeting".

    • Initialize the CookieData element to a sequence of bytes, as defined in section 2.2.4.7.

Response:

If no errors occur during processing, the USS MUST return the response to the DSS.

If an error occurs during processing, the USS MUST return a SOAP fault. The SOAP fault SHOULD contain an <ErrorCode> element, as defined in section 2.2.9. If the SOAP fault contains an <ErrorCode> element, its value MUST be one of the following.

If the DSS receives a SOAP fault containing an <ErrorCode> element, it MUST react to the fault as described in the following table. If the DSS receives a fault that does not contain an <ErrorCode> element, it MUST stop the protocol.

ErrorCode

Description

InternalServerError

An internal error occurred on the server. The error is implementation specific. The DSS MUST stop the protocol.

InvalidParameters

Parameters passed to a web method are not valid. The "message" part of the exception will contain the parameter name. The DSS MUST stop the protocol.