<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNP13%2FSOAPTweener</id>
	<title>Protocols/MSNP/MSNP13/SOAPTweener - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNP13%2FSOAPTweener"/>
	<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;action=history"/>
	<updated>2026-06-26T19:18:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=4356&amp;oldid=prev</id>
		<title>Animadoria at 11:02, 13 May 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=4356&amp;oldid=prev"/>
		<updated>2022-05-13T11:02:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:02, 13 May 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Protocols/MSNP&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/&lt;/del&gt;MSNP13 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Navigation&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Protocols/MSNP&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;section=&lt;/ins&gt;MSNP13}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki-wiki_:diff:1.41:old-2587:rev-4356:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Animadoria</name></author>
	</entry>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=2587&amp;oldid=prev</id>
		<title>AD: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=2587&amp;oldid=prev"/>
		<updated>2020-05-29T00:23:42Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:23, 29 May 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki_:diff:1.41:old-2586:rev-2587 --&gt;
&lt;/table&gt;</summary>
		<author><name>AD</name></author>
	</entry>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=2586&amp;oldid=prev</id>
		<title>AD at 21:18, 7 July 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNP13/SOAPTweener&amp;diff=2586&amp;oldid=prev"/>
		<updated>2008-07-07T21:18:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Protocols/MSNP/MSNP13 Navigation}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Passport 3.0 =&lt;br /&gt;
Since 1 April 2006, Microsoft has begun removing the old way of authenticating, called 'Passport 1.4', and has replaced it with 'Passport 3.0'. Every client that still uses Passport 1.4 will eventually receive ''401 Unauthorized'' responses, whether using SSL or not, with an 'Account locked out' message.&lt;br /&gt;
&lt;br /&gt;
The new way of authenticating uses SOAP.&lt;br /&gt;
&lt;br /&gt;
Unlike Passport 1.4, only SSL works successfully. Otherwise you will receive an error (S:ClientInvalid Request).&lt;br /&gt;
&lt;br /&gt;
= SOAP Request =&lt;br /&gt;
The target URL for the SOAP request is '''&amp;lt;nowiki&amp;gt;https://loginnet.passport.com/RST.srf&amp;lt;/nowiki&amp;gt;'''. The server does not discriminate on User Agent.&lt;br /&gt;
&lt;br /&gt;
You will need the tweener ticket from the USR TWN S command received from the NS. URL decode the ticket, then replace the commas (,) with ampersands (&amp;amp;). You must then XML encode (HTML encode) the username, password and ticket.&lt;br /&gt;
&lt;br /&gt;
Below is an example of the SOAP request sent to the server by the official client.&lt;br /&gt;
&lt;br /&gt;
 POST /RST.srf HTTP/1.1\r\n&lt;br /&gt;
 Accept: text/*\r\n&lt;br /&gt;
 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n&lt;br /&gt;
 Host: loginnet.passport.com\r\n&lt;br /&gt;
 Content-Length: 3098\r\n&lt;br /&gt;
 Connection: Keep-Alive\r\n&lt;br /&gt;
 Cache-Control: no-cache\r\n&lt;br /&gt;
 \r\n&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;Envelope xmlns=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/soap/envelope/&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wsse=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2003/06/secext&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:1.0:assertion&amp;quot; xmlns:wsp=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2002/12/policy&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wsu=&amp;quot;&amp;lt;nowiki&amp;gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wsa=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/03/addressing&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wssc=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/04/sc&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wst=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/04/trust&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Header&amp;gt;&lt;br /&gt;
     &amp;lt;ps:AuthInfo xmlns:ps=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/PPCRL&amp;lt;/nowiki&amp;gt;&amp;quot; Id=&amp;quot;PPAuthInfo&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;ps:HostingApp&amp;gt;{7108E71A-9926-4FCB-BCC9-9A9D3F32E423}&amp;lt;/ps:HostingApp&amp;gt;&lt;br /&gt;
       &amp;lt;ps:BinaryVersion&amp;gt;4&amp;lt;/ps:BinaryVersion&amp;gt;&lt;br /&gt;
       &amp;lt;ps:UIVersion&amp;gt;1&amp;lt;/ps:UIVersion&amp;gt;&lt;br /&gt;
       &amp;lt;ps:Cookies&amp;gt;&amp;lt;/ps:Cookies&amp;gt;&lt;br /&gt;
       &amp;lt;ps:RequestParams&amp;gt;AQAAAAIAAABsYwQAAAAzMDg0&amp;lt;/ps:RequestParams&amp;gt;&lt;br /&gt;
     &amp;lt;/ps:AuthInfo&amp;gt;&lt;br /&gt;
     &amp;lt;wsse:Security&amp;gt;&lt;br /&gt;
        &amp;lt;wsse:UsernameToken Id=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;wsse:Username&amp;gt;'''alice@passport.com'''&amp;lt;/wsse:Username&amp;gt;&lt;br /&gt;
          &amp;lt;wsse:Password&amp;gt;'''password'''&amp;lt;/wsse:Password&amp;gt;&lt;br /&gt;
        &amp;lt;/wsse:UsernameToken&amp;gt;&lt;br /&gt;
     &amp;lt;/wsse:Security&amp;gt;&lt;br /&gt;
   &amp;lt;/Header&amp;gt;&lt;br /&gt;
   &amp;lt;Body&amp;gt;&lt;br /&gt;
     &amp;lt;ps:RequestMultipleSecurityTokens xmlns:ps=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/PPCRL&amp;lt;/nowiki&amp;gt;&amp;quot; Id=&amp;quot;RSTS&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;wst:RequestSecurityToken Id=&amp;quot;RST0&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestType&amp;gt;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue&amp;lt;/nowiki&amp;gt;&amp;lt;/wst:RequestType&amp;gt;&lt;br /&gt;
         &amp;lt;wsp:AppliesTo&amp;gt;&lt;br /&gt;
           &amp;lt;wsa:EndpointReference&amp;gt;&lt;br /&gt;
             &amp;lt;wsa:Address&amp;gt;&amp;lt;nowiki&amp;gt;http://Passport.NET/tb&amp;lt;/nowiki&amp;gt;&amp;lt;/wsa:Address&amp;gt;&lt;br /&gt;
           &amp;lt;/wsa:EndpointReference&amp;gt;&lt;br /&gt;
         &amp;lt;/wsp:AppliesTo&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/wst:RequestSecurityToken&amp;gt;&lt;br /&gt;
       &amp;amp;lt;wst:RequestSecurityToken Id=&amp;quot;RST1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wst:RequestType&amp;gt;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue&amp;lt;/nowiki&amp;gt;&amp;lt;/wst:RequestType&amp;gt;&lt;br /&gt;
         &amp;lt;wsp:AppliesTo&amp;gt;&lt;br /&gt;
           &amp;lt;wsa:EndpointReference&amp;gt;&lt;br /&gt;
             &amp;lt;wsa:Address&amp;gt;messenger.msn.com&amp;lt;/wsa:Address&amp;gt;&lt;br /&gt;
           &amp;lt;/wsa:EndpointReference&amp;gt;&lt;br /&gt;
         &amp;lt;/wsp:AppliesTo&amp;gt;&lt;br /&gt;
         &amp;lt;wsse:PolicyReference URI=&amp;quot;?'''&amp;lt;nowiki&amp;gt;lc=1033&amp;amp;amp;amp;id=507&amp;amp;amp;amp;tw=40&amp;amp;amp;amp;fs=1&amp;amp;amp;amp;ru=http://messenger.msn.com&amp;amp;amp;amp;ct=1144076956&amp;amp;amp;amp;kpp=1&amp;amp;amp;amp;kv=7&amp;amp;amp;amp;ver=2.1.6000.1&amp;amp;amp;amp;rn=NgNNrtGr&amp;amp;amp;amp;tpf=de8dd66124cd310ab344aa850bc5aa9b&amp;lt;/nowiki&amp;gt;'''&amp;quot;&amp;gt;&amp;lt;/wsse:PolicyReference&amp;gt;&lt;br /&gt;
       &amp;lt;/wst:RequestSecurityToken&amp;gt;&lt;br /&gt;
     &amp;lt;/ps:RequestMultipleSecurityTokens&amp;gt;&lt;br /&gt;
   &amp;lt;/Body&amp;gt;&lt;br /&gt;
 &amp;lt;/Envelope&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SOAP Response =&lt;br /&gt;
== Redirect ==&lt;br /&gt;
Just as with Passport 1.4, you may get redirected to a new server. Simply connect to the new server (indicated in bold below) and re-submit your SOAP request (above).&lt;br /&gt;
&lt;br /&gt;
 HTTP/1.1 200 OK\r\n&lt;br /&gt;
 Connection: close\r\n&lt;br /&gt;
 Date: Mon, 03 Apr 2006 15:09:17 GMT\r\n&lt;br /&gt;
 Server: Microsoft-IIS/6.0\r\n&lt;br /&gt;
 PPServer: PPV: 30 H: BAYPPLOGN3B12 V: 0\r\n&lt;br /&gt;
 Content-Type: text/html; charset=iso-8859-1\r\n&lt;br /&gt;
 Expires: Mon, 03 Apr 2006 15:08:17 GMT\r\n&lt;br /&gt;
 Cache-Control: no-cache\r\n&lt;br /&gt;
 Pragma: no-cache\r\n&lt;br /&gt;
 P3P: CP=&amp;quot;DSP CUR OTPi IND OTRi ONL FIN&amp;quot;\r\n&lt;br /&gt;
 Content-Length: ''xxx''\r\n&lt;br /&gt;
 \r\n&lt;br /&gt;
 &amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;S:Envelope xmlns:S='&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/soap/envelope/&amp;lt;/nowiki&amp;gt;' xmlns:wsse='&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2002/04/secext&amp;lt;/nowiki&amp;gt;' xmlns:psf='&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/SOAPFault&amp;lt;/nowiki&amp;gt;'&amp;gt;&lt;br /&gt;
   &amp;amp;lt;S:Header&amp;gt;&lt;br /&gt;
     &amp;lt;psf:pp xmlns:psf=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/SOAPFault&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;psf:serverVersion&amp;gt;1&amp;lt;/psf:serverVersion&amp;gt;&lt;br /&gt;
       &amp;lt;psf:authstate&amp;gt;0x80048800&amp;lt;/psf:authstate&amp;gt;&lt;br /&gt;
       &amp;lt;psf:reqstatus&amp;gt;0x80048852&amp;lt;/psf:reqstatus&amp;gt;&lt;br /&gt;
       &amp;lt;psf:serverInfo Path=&amp;quot;Live1&amp;quot; RollingUpgradeState=&amp;quot;Unknown&amp;quot; LocVersion=&amp;quot;0&amp;quot; ServerTime=&amp;quot;2006-07-20T06:06:59Z&amp;quot;&amp;gt;TK2PPMLOG3B05 2006.05.16.18.44.49&amp;lt;/psf:serverInfo&amp;gt;&lt;br /&gt;
       &amp;lt;psf:cookies/&amp;gt;&lt;br /&gt;
       &amp;lt;psf:response/&amp;gt;&lt;br /&gt;
     &amp;lt;/psf:pp&amp;gt;&lt;br /&gt;
   &amp;amp;lt;/S:Header&amp;gt;&lt;br /&gt;
   &amp;amp;lt;S:Fault&amp;gt;&lt;br /&gt;
     &amp;lt;faultcode&amp;gt;psf:Redirect&amp;lt;/faultcode&amp;gt;&lt;br /&gt;
     &amp;lt;psf:redirectUrl&amp;gt;'''&amp;lt;nowiki&amp;gt;https://login.live.com/pp400/RST.srf&amp;lt;/nowiki&amp;gt;'''&amp;lt;/psf:redirectUrl&amp;gt;&lt;br /&gt;
     &amp;lt;faultstring&amp;gt;Authentication Failure&amp;lt;/faultstring&amp;gt;&lt;br /&gt;
   &amp;amp;lt;/S:Fault&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/S:Envelope&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Success ==&lt;br /&gt;
If all went well, you will receive the following reply from the server. If the username or password were incorrect, you will receive a SOAP:Fault reply for each sub-request (&amp;quot;RequestSecurityToken&amp;quot;) that failed.&lt;br /&gt;
&lt;br /&gt;
'''Remember to XML decode (HTML decode) the token received (in bold below)!'''&lt;br /&gt;
&lt;br /&gt;
 HTTP/1.1 200 OK\r\n&lt;br /&gt;
 Connection: close\r\n&lt;br /&gt;
 Date: Mon, 03 Apr 2006 15:09:17 GMT\r\n&lt;br /&gt;
 Server: Microsoft-IIS/6.0\r\n&lt;br /&gt;
 PPServer: PPV: 30 H: BAYPPLOGN3B12 V: 0\r\n&lt;br /&gt;
 Content-Type: text/html; charset=iso-8859-1\r\n&lt;br /&gt;
 Expires: Mon, 03 Apr 2006 15:08:17 GMT\r\n&lt;br /&gt;
 Cache-Control: no-cache\r\n&lt;br /&gt;
 Pragma: no-cache\r\n&lt;br /&gt;
 P3P: CP=&amp;quot;DSP CUR OTPi IND OTRi ONL FIN&amp;quot;\r\n&lt;br /&gt;
 Content-Length: 6495\r\n&lt;br /&gt;
 \r\n&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;S:Envelope xmlns:S=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/soap/envelope/&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;S:Header&amp;gt;&lt;br /&gt;
     &amp;lt;psf:pp xmlns:psf=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/SOAPFault&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;psf:serverVersion&amp;gt;1&amp;lt;/psf:serverVersion&amp;gt;&lt;br /&gt;
       &amp;lt;psf:PUID&amp;gt;  ''See '''[[Protocols/MSNP/Passport Unique ID]]''' for more info''  &amp;lt;/psf:PUID&amp;gt;&lt;br /&gt;
       &amp;lt;psf:configVersion&amp;gt;3.0.869.0&amp;lt;/psf:configVersion&amp;gt;&lt;br /&gt;
       &amp;lt;psf:uiVersion&amp;gt;3.0.869.0&amp;lt;/psf:uiVersion&amp;gt;&lt;br /&gt;
       &amp;lt;psf:authstate&amp;gt;0x48803&amp;lt;/psf:authstate&amp;gt;&lt;br /&gt;
       &amp;lt;psf:reqstatus&amp;gt;0x0&amp;lt;/psf:reqstatus&amp;gt;&lt;br /&gt;
       &amp;lt;psf:serverInfo Path=&amp;quot;Live1&amp;quot; RollingUpgradeState=&amp;quot;ExclusiveNew&amp;quot; LocVersion=&amp;quot;0&amp;quot; ServerTime=&amp;quot;2006-04-03T15:09:17Z&amp;quot;&amp;gt;BAYPPLOGN3B12 2006.01.27.13.57.29&amp;lt;/psf:serverInfo&amp;gt;&lt;br /&gt;
       &amp;lt;psf:cookies/&amp;gt;&lt;br /&gt;
       &amp;lt;psf:response/&amp;gt;&lt;br /&gt;
     &amp;lt;/psf:pp&amp;gt;&lt;br /&gt;
   &amp;amp;lt;/S:Header&amp;gt;&lt;br /&gt;
   &amp;amp;lt;S:Body&amp;gt;&lt;br /&gt;
     &amp;lt;wst:RequestSecurityTokenResponseCollection xmlns:S=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/soap/envelope/&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wst=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/04/trust&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wsse=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2003/06/secext&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:wsu=&amp;quot;&amp;lt;nowiki&amp;gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:1.0:assertion&amp;quot; xmlns:wsp=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2002/12/policy&amp;lt;/nowiki&amp;gt;&amp;quot; xmlns:psf=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.microsoft.com/Passport/SoapServices/SOAPFault&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;wst:RequestSecurityTokenResponse&amp;gt;&lt;br /&gt;
         &amp;lt;wst:TokenType&amp;gt;urn:passport:legacy&amp;lt;/wst:TokenType&amp;gt;&lt;br /&gt;
         &amp;lt;wsp:AppliesTo xmlns:wsa=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/03/addressing&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;wsa:EndpointReference&amp;gt;&lt;br /&gt;
             &amp;lt;wsa:Address&amp;gt;&amp;lt;nowiki&amp;gt;http://Passport.NET/tb&amp;lt;/nowiki&amp;gt;&amp;lt;/wsa:Address&amp;gt;&lt;br /&gt;
           &amp;lt;/wsa:EndpointReference&amp;gt;&lt;br /&gt;
         &amp;lt;/wsp:AppliesTo&amp;gt;&lt;br /&gt;
         &amp;lt;wst:LifeTime&amp;gt;&lt;br /&gt;
           &amp;lt;wsu:Created&amp;gt;2006-04-03T15:09:17Z&amp;lt;/wsu:Created&amp;gt;&lt;br /&gt;
           &amp;lt;wsu:Expires&amp;gt;2006-04-04T15:09:17Z&amp;lt;/wsu:Expires&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:LifeTime&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestedSecurityToken&amp;gt;&lt;br /&gt;
           &amp;lt;EncryptedData xmlns=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.w3.org/2001/04/xmlenc#&amp;lt;/nowiki&amp;gt;&amp;quot; Id=&amp;quot;BinaryDAToken0&amp;quot; Type=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.w3.org/2001/04/xmlenc#Element&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;EncryptionMethod algorithm=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.w3.org/2001/04/xmlenc#tripledes-cbc&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&amp;lt;/EncryptionMethod&amp;gt;&lt;br /&gt;
             &amp;lt;ds:KeyInfo xmlns:ds=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.w3.org/2000/09/xmldsig#&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;ds:KeyName&amp;gt;&amp;lt;nowiki&amp;gt;http://Passport.NET/STS&amp;lt;/nowiki&amp;gt;&amp;lt;/ds:KeyName&amp;gt;&lt;br /&gt;
             &amp;lt;/ds:KeyInfo&amp;gt;&lt;br /&gt;
             &amp;lt;CipherData&amp;gt;&lt;br /&gt;
               &amp;lt;CipherValue&amp;gt;AfiQDIvIPHyZ/aJmpm/hoaJCzRMYbhNZT1VZDvuoYuXpWLBVCa+dHstPX7/3qaq0YbAzROTU6mi0ovQ6BYOVD8tgwb3yzfdm6OMd77RWKpZMMc3sLKEbxzutc6tpG7euj0Y5nlIyCRUFJATcqpvOOFS3EYchcOe7UG5si/w+4CUnPk+YG/X2+lJt6yEaD7+oxu7vCueResAJoqwi2fOu/3hSh0k9Meqd4QYmaijkLZT3jy+GQu/8Jku6f+o0DiKoQzg0JYfaKV7ROfznRXWxUoUiigv7EiAcgG+Ri9kaB0E54QecOuh23mCoiowVdDexh19Ep24Am1KexozOXuLdwEsO5S3IHSdC0xZzFl3Fa4XKRFeEfeYJ6OFvTu9FoiLq+c9XX7OmroVbaOWE1Bi4C8es2bObPjkxg5JEl2M6vFlWEJUbTQ==&amp;lt;/CipherValue&amp;gt;&lt;br /&gt;
             &amp;lt;/CipherData&amp;gt;&lt;br /&gt;
           &amp;lt;/EncryptedData&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:RequestedSecurityToken&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestedTokenReference&amp;gt;&lt;br /&gt;
           &amp;lt;wsse:KeyIdentifier ValueType=&amp;quot;urn:passport&amp;quot;&amp;gt;&amp;lt;/wsse:KeyIdentifier&amp;gt;&lt;br /&gt;
           &amp;lt;wsse:Reference URI=&amp;quot;#BinaryDAToken0&amp;quot;&amp;gt;&amp;lt;/wsse:Reference&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:RequestedTokenReference&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestedProofToken&amp;gt;&lt;br /&gt;
           &amp;lt;wst:BinarySecret&amp;gt;UDmOO8Ep5vU+vQUjcziMW6fI43rIeKLD&amp;lt;/wst:BinarySecret&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:RequestedProofToken&amp;gt;&lt;br /&gt;
       &amp;lt;/wst:RequestSecurityTokenResponse&amp;gt;&lt;br /&gt;
       &amp;lt;wst:RequestSecurityTokenResponse&amp;gt;&lt;br /&gt;
         &amp;lt;wst:TokenType&amp;gt;urn:passport:legacy&amp;lt;/wst:TokenType&amp;gt;&lt;br /&gt;
         &amp;lt;wsp:AppliesTo xmlns:wsa=&amp;quot;&amp;lt;nowiki&amp;gt;http://schemas.xmlsoap.org/ws/2004/03/addressing&amp;lt;/nowiki&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;wsa:EndpointReference&amp;gt;&lt;br /&gt;
             &amp;lt;wsa:Address&amp;gt;messenger.msn.com&amp;lt;/wsa:Address&amp;gt;&lt;br /&gt;
           &amp;lt;/wsa:EndpointReference&amp;gt;&lt;br /&gt;
         &amp;lt;/wsp:AppliesTo&amp;gt;&lt;br /&gt;
         &amp;lt;wst:LifeTime&amp;gt;&lt;br /&gt;
           &amp;lt;wsu:Created&amp;gt;2006-04-03T15:09:17Z&amp;lt;/wsu:Created&amp;gt;&lt;br /&gt;
           &amp;lt;wsu:Expires&amp;gt;2006-04-03T15:17:37Z&amp;lt;/wsu:Expires&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:LifeTime&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestedSecurityToken&amp;gt;&lt;br /&gt;
           &amp;lt;wsse:BinarySecurityToken Id=&amp;quot;PPToken1&amp;quot;&amp;gt;'''t=7rl6lZ8V0AwqPJX7V0sI7UTeVeSI2IsNyUs54yhGxkw75Wk3FKmZPRlt5HRk5zTutPTRdA4Z0HZlSEzrNDATrJkbticILv0GB7UV1hs18Lv3!htfM2GRQhudbsLMYI2Tylbfp!3WDZYNo$&amp;amp;amp;amp;p=7p*vh1jxRHI5149VnAwA9pzqQhV4NspMqdEpizzDolZdz6lDrkjisFoc4tKXlmxb5dIe7JKgr5Qmr8ULvHcU0bX6XUbcVQ4ra1dkLzpNltx47fkxjHLMJJiCFq*uOn9ijQLDNtw752hZvd0duHXMygF3y9rKDMhr27*WSs!10nbysjJ7gn70SyRWibFc1rnQlRHyCdf6ZTBhw$'''&amp;lt;/wsse:BinarySecurityToken&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:RequestedSecurityToken&amp;gt;&lt;br /&gt;
         &amp;lt;wst:RequestedTokenReference&amp;gt;&lt;br /&gt;
           &amp;lt;wsse:KeyIdentifier ValueType=&amp;quot;urn:passport&amp;quot;&amp;gt;&amp;lt;/wsse:KeyIdentifier&amp;gt;&lt;br /&gt;
           &amp;lt;wsse:Reference URI=&amp;quot;#PPToken1&amp;quot;&amp;gt;&amp;lt;/wsse:Reference&amp;gt;&lt;br /&gt;
         &amp;lt;/wst:RequestedTokenReference&amp;gt;&lt;br /&gt;
       &amp;lt;/wst:RequestSecurityTokenResponse&amp;gt;&lt;br /&gt;
     &amp;lt;/wst:RequestSecurityTokenResponseCollection&amp;gt;&lt;br /&gt;
   &amp;lt;/S:Body&amp;gt;&lt;br /&gt;
 &amp;lt;/S:Envelope&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Example code =&lt;br /&gt;
The following code has been written in pseudo code, and can be freely translated to any language, such as PHP, Perl, C, C#, etc.&lt;br /&gt;
&lt;br /&gt;
 var url = &amp;quot;&amp;lt;nowiki&amp;gt;https://loginnet.passport.com/RST.srf&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 var ticket = url_decode(&amp;quot;lc=1033,id=507,tw=40,fs=1,ru=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=1144678795,kpp=1,kv=7,ver=2.1.6000.1,rn=henwjH6T,tpf=9fae2e057425cab598a766a38ccd447a&amp;quot;);&lt;br /&gt;
     ticket = string_replace(ticket, &amp;quot;,&amp;quot;, &amp;quot;&amp;amp;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 var body = &amp;quot;&amp;lt;?xml ..... &amp;quot; +&lt;br /&gt;
            // Snip!&lt;br /&gt;
            &amp;quot;&amp;lt;wsse:Username&amp;gt;&amp;quot; + html_encode(user) + &amp;quot;&amp;lt;/wsse:Username&amp;gt;&amp;quot; +&lt;br /&gt;
            &amp;quot;&amp;lt;wsse:Password&amp;gt;&amp;quot; + html_encode(password) + &amp;quot;&amp;lt;/wsse:Password&amp;gt;&amp;quot; +&lt;br /&gt;
            // Snip!&lt;br /&gt;
            &amp;quot;&amp;lt;wsse:PolicyReference URI=\&amp;quot;?&amp;quot; + html_encode(ticket) + &amp;quot;\&amp;quot;&amp;gt;&amp;lt;/wsse:PolicyReference&amp;gt;&amp;quot; +&lt;br /&gt;
            // Snip!&lt;br /&gt;
            &amp;quot;&amp;lt;/Envelope&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 var request = new HTTPRequest(url);&lt;br /&gt;
     request-&amp;gt;body = body;&lt;br /&gt;
&lt;br /&gt;
 var response = request-&amp;gt;get_response();&lt;br /&gt;
&lt;br /&gt;
 if response-&amp;gt;succeeded then&lt;br /&gt;
 begin&lt;br /&gt;
   var twnticket = response-&amp;gt;body;&lt;br /&gt;
       twnticket = twnticket-&amp;gt;getbetween(&amp;quot;&amp;lt;wsse:BinarySecurityToken Id=&amp;quot;PPToken1&amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/wsse:BinarySecurityToken&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   return html_decode(twnticket);&lt;br /&gt;
 end&lt;br /&gt;
 else&lt;br /&gt;
   throw new Exception(&amp;quot;Could not fetch ticket&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
= Implementations =&lt;br /&gt;
Example implementations of this method are available:&lt;br /&gt;
&lt;br /&gt;
* C#: [http://siebe.bot2k3.net/docs/files/PP30_SecurityToken.cs PP30_SecurityToken.cs] (By [[User:Darkener Daemon EX|Eon (formerly Darkener Daemon EX)]])&lt;br /&gt;
* Java: [http://yourpaste.net/910/AuthTWN.java AuthTWN.java] (By Tom van der Woerdt)&lt;br /&gt;
* Perl: [http://siebe.bot2k3.net/docs/files/AuthPP3.pm AuthPP3.pm] (By [[User:Inky|Siebe &amp;quot;Inky&amp;quot; Tolsma]])&lt;br /&gt;
* PHP: [http://homepage.ntlworld.com/albrecht/tweener.class.txt tweener.class.php] (By [[User:Mpmc|Mark &amp;quot;MPMC&amp;quot;]]) - [[Protocols/MSNP/MSNP13/SOAPTweener/tweener.class|Info]]&lt;br /&gt;
* PHP: [http://www.toutmessenger.info/wlm_pp3_class.php.txt wlm_pp3_class.php] (By [[User:Exyr1090|Nowan190]] for [http://www.toutmessenger.info/ ToutMessenger])&lt;br /&gt;
* Python: [http://www.thomasdimson.com/web_files/TweenerAuthentication/TweenerAuthentication.txt TweenerAuthetication.py] (By [[User:Turtlesoup|Thomas &amp;quot;Turtlesoup&amp;quot; Dimson]])&lt;br /&gt;
* VB .NET: [http://files.konphuzion.net/code/PP3.vb.txt PP3.vb] (By [[User:Jay|Jay]])&lt;br /&gt;
&lt;br /&gt;
[[Category:MSN]]&lt;br /&gt;
[[Category:Protocols/MSNP]]&lt;br /&gt;
[[Category:Work_In_Progress]]&lt;/div&gt;</summary>
		<author><name>AD</name></author>
	</entry>
</feed>