236 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			236 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 | |
| <!-- saved from url=(0042) -->
 | |
| <HTML><HEAD><TITLE>Account AutoDiscovery</TITLE>
 | |
| <META content="text/html; charset=windows-1252" http-equiv=Content-Type>
 | |
| <META content="Microsoft FrontPage 4.0" name=GENERATOR>
 | |
| 
 | |
| <LINK href="nepstyles.css" rel=stylesheet type=text/css>
 | |
| <STYLE type=text/css></STYLE>
 | |
| 
 | |
| <meta name="Microsoft Border" content="none">
 | |
| </HEAD>
 | |
| <BODY bgColor=#ffffff link=#4e8ff1><!--webbot bot="Include" U-Include="../../commonpages/header.htm" TAG="BODY" startspan --><strong>[../../commonpages/header.htm]</strong><!--webbot bot="Include" endspan i-checksum="53214" -->
 | |
| 
 | |
| <P align=left> </P>
 | |
| <TABLE border=0 width=640>
 | |
|   <TBODY>
 | |
|   <TR>
 | |
|     <TD vAlign=top width=110>
 | |
|       <H3></H3></TD>
 | |
|     <TD vAlign=top width=530>
 | |
|       <P class=header-page>Account AutoDiscovery RFC</P>
 | |
|     </TD></TR>
 | |
|   <TR>
 | |
|     <TD vAlign=top width=110></TD>
 | |
|     <TD vAlign=top width=530>  </TD></TR>
 | |
|   <TR>
 | |
|     <TD vAlign=top width=110>
 | |
|       <DIV></DIV></TD>
 | |
|     <TD vAlign=top width=530>
 | |
|       <P class=header>Goal:</P>
 | |
|       <HR SIZE=1>
 | |
| 
 | |
|       <P>This document will describe the Account AutoDiscovery protocol.
 | |
| 
 | |
|       <P>  
 | |
|       <P class=header><b>How AutoDiscovery Works:</b></P>
 | |
|       <HR SIZE=1>
 | |
| 
 | |
|       <p>Account AutoDiscovery will use an email address to look up information
 | |
|       needed to configure software.  Given a email name (like <a href="mailto:JohnDoe@yahoo.com">JohnDoe@psyco.psychdept.libarts.ucsd.edu</a>),
 | |
|       a list of possible AutoDiscover servers are generated.  The path
 | |
|       "/AutoDiscover/" on the server "_autodiscover.<domainname>" is contacted to provide the
 | |
|       information.  If the information still isn't retrieved, then a public service is
 | |
|       tried.  </p>
 | |
|       <P> </P>
 | |
|       <P>Each server is sent an HTTP Post command.  The post
 | |
|       data is an XML request for a certain type of information.  The
 | |
|       request the server to retrieve settings for a particular type of account,
 | |
|       like an email account or a virtual private network account.  The HTTP
 | |
|       Post header data is XML that will contain
 | |
|       information that will help execute the request.  For mail, it will
 | |
|       include the email address, the protocols the client software supports, the
 | |
|       web browser installed, the kind of proxy in use, and the types of
 | |
|       authentication that can be used.</P>
 | |
|       <P> </P>
 | |
|       <P>The server can then return an XML file that will provide the
 | |
|       information needed for the client to configure local software to get the
 | |
|       user to their destination.</P>
 | |
|       <P> </P>
 | |
|       <P><A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A> 
 | |
|       <P> 
 | |
|         
 | |
|       <P class=header><b>How Is the Request Made:</b></P>
 | |
|       <HR SIZE=1>
 | |
| 
 | |
|       <P>The HTTP POST headers contain information about the request in
 | |
|       XML.  Multiple ACCOUNT, PROTOCOL, and APP elements are allowed. 
 | |
|       There are two levels in a request, a list of accounts to configure (for
 | |
|       example: email, connection) and the second level is the protocol to use in
 | |
|       that account.  The PROTOCOL level is OPTIONAL and is added if there
 | |
|       are settings specific to a certain protocol.</P>
 | |
| 
 | |
|       <P> </P>
 | |
| 
 | |
|       <P>Additionally, there can be one or more <APP> element under an
 | |
|       ACCOUNT or PROTOCOL that will provide application specific settings. 
 | |
|       The manufacturer of the application needs to define the name space to
 | |
|       define the hierarchy under this element.</P>
 | |
|       <P> </P>
 | |
|       <P>This RFC will describe some ACCOUNTs and PROTOCOLs.  New accounts
 | |
|       and protocols can be defined but they need to have a specified xml
 | |
|       namespace. </P>
 | |
|       <P> </P>
 | |
|       <P><b>The request XML format is: </b></P>
 | |
|       <pre><?xml version="1.0" ?>
 | |
| <AUTODISCOVERY xmlns="http://www.w3c.org/dtd/AutoDiscovery"
 | |
|                xmlns:app1="http://www.app.com/dtd/MyApp1"
 | |
|                xmlns:app2="http://www.app2.com/dtd/MyApp2">
 | |
|     <REQUEST>
 | |
|       <ACCOUNT>
 | |
|         <TYPE>email</TYPE> <!--The kind of information requested-->
 | |
|         <VERSION>0.1</VERSION> <!--The version of the request-->
 | |
|         <RESPONSEVER>0.1</RESPONSEVER> <!--The version of the response the client supports-->
 | |
|         <LANG>en</LANG> <!--The user's language-->
 | |
|         
 | |
|         <!--The Following is specific to TYPE email-->
 | |
|         <EMAIL>bryanst@yahoo.com</EMAIL> <!--The email address to request email settings-->
 | |
| 
 | |
|         <PROTOCOL>
 | |
|           <TYPE>POP3</TYPE> <!--The kind of information requested-->
 | |
|           <!--If you needed to send information to the server-->
 | |
|           <!--specific to the protocol, it would go here.-->
 | |
|         </PROTOCOL>
 | |
|         
 | |
|         <app1:APP>
 | |
|           <NAME>com.microsoft.Exchange</NAME> <!--A unique identifier of the application-->
 | |
|           <!--If you needed to send app specific information to the server-->
 | |
|           <!--it would go here.-->
 | |
|         </app1:APP>
 | |
|       </ACCOUNT>
 | |
|     </REQUEST>
 | |
|     <REQUEST>    ...    </REQUEST>
 | |
| </AUTODISCOVERY>
 | |
| <A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A></pre>
 | |
|       <P> 
 | |
|         
 | |
|       <P class=header><b>How Is the Response Is:</b></P>
 | |
|       <HR SIZE=1>
 | |
| 
 | |
|       <P><b>The response XML format is: </b></P>
 | |
| 
 | |
|       <P>The HTTP POST headers contain information about the request in
 | |
|       XML.  Multiple ACCOUNT, PROTOCOL, and APP elements are allowed. 
 | |
|       There are two levels in a request, a list of accounts to configure (for
 | |
|       example: email, connection) and the second level is the protocol to use in
 | |
|       that account.  The PROTOCOL level is OPTIONAL and is added if there
 | |
|       are settings specific to a certain protocol.</P>
 | |
| 
 | |
|       <P> </P>
 | |
| 
 | |
|       <P>Additionally, there can be one or more <APP> element under an
 | |
|       ACCOUNT or PROTOCOL that will provide application specific settings. 
 | |
|       The manufacturer of the application needs to define the name space to
 | |
|       define the hierarchy under this element.</P>
 | |
|       <P> </P>
 | |
|       <pre><?xml version="1.0" ?>
 | |
| <AUTODISCOVERY xmlns="http://www.w3c.org/dtd/AutoDiscovery"
 | |
|                xmlns:app1="http://www.app.com/dtd/MyApp1"
 | |
|                xmlns:app2="http://www.app2.com/dtd/MyApp2">
 | |
|     <USER>
 | |
|         <DISPLAYNAME>Bryan T. Starbuck</DISPLAYNAME> <!--The user's display Name-->
 | |
|         <LDAP><!--LDAP URL--></LDAP> <!--FUTURE: We could provide an URL to an LDAP server for more information.-->
 | |
|                                      <!--        You can only access this information after being authenticated.-->
 | |
|         <VCARD/> <!--FUTURE: vCard information-->
 | |
|     </USER>
 | |
|     <RESPONSE>
 | |
|       <RESPONSEVER>0.1</RESPONSEVER> <!--Version of the response the server uses.  MUST be less than REQUEST's RESPONSEVER.-->
 | |
|       <LANG>en</LANG> <!--The response language-->
 | |
|        
 | |
|       <ACCOUNT>
 | |
|       <TYPE>email</TYPE>
 | |
|         <!--Either-->
 | |
|         <ACTION>redirect | message | settings</ACTION>
 | |
|           <!--redirect: Redirect to another server-->
 | |
|           <URL> <!--redirect URL--></URL>
 | |
| 
 | |
|           <!--message: Display this message to the user because the information could not be retrieved-->
 | |
|           <MESSAGE> <!--the message--></MESSAGE>
 | |
| 
 | |
|           <!--settings: Settings will be provided-->
 | |
|           <!--Protocols are listed in order of server preference.-->
 | |
|           <PROTOCOL>
 | |
|               <TYPE>POP3</TYPE> <!--Type of Protocol-->
 | |
|               <SERVER>mail.pop.yahoo.com</SERVER> <!--ID Addr or DNS name of server-->
 | |
|               <PORT>Default</PORT> <!--"Default" or the port number.  Default means the default for that protocol-->
 | |
|               <LOGINNAME>Default</LOGINNAME> <!--The login name to use when logging in over POP3, SMTP, or IMAP type protocols.-->
 | |
|                                              <!--If not specified, caller should use the first part of the email name.-->
 | |
|               <SPA>on | off</SPA> <!--Should SPA (Secure Password Authentication) be used?-->
 | |
|               <SSL>on | off</SSL> <!--Is SSL supported?-->
 | |
|               <AUTHREQUIRED>on | off</AUTHREQUIRED> <!--Is Authenication Required? (Normally SMTP specific)-->
 | |
|               <USEPOPAUTH>on | off</USEPOPAUTH> <!--SMTP Only: Use the Auth settings for POP3 for SMTP-->
 | |
|           </PROTOCOL>
 | |
| 
 | |
|           <app1:APP>
 | |
|             <NAME>com.microsoft.Exchange</NAME> <!--A unique identifier of the application-->
 | |
|             <!--App specific settings can go here.-->
 | |
|           </app1:APP>
 | |
|         </ACTION>
 | |
| 
 | |
|       </ACCOUNT>
 | |
|     </RESPONSE>
 | |
| </AUTODISCOVERY>
 | |
| <A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A></pre>
 | |
|       <P> </P>
 | |
|       <P class=header>Setting Up A Server:</P>
 | |
|       <HR SIZE=1>
 | |
| 
 | |
|       <p>
 | |
|       The trick is to make it trivial to setup a server.  Most ISPs only need to do this:</p>
 | |
|       <ul>
 | |
|         <li>
 | |
|       Create a DNS entry that points _ AutoDiscover.<domainname> to an existing web server.</li>
 | |
|         <li>
 | |
|       Create a "AutoDiscover" subdirectory.</li>
 | |
|         <li>
 | |
|       Create the XML file that will be returned as the default file for that
 | |
|           directory.  Web servers normally just return .asp, .htm, or .html
 | |
|           files so either the server can be setup to return a static XML file or
 | |
|           .asp page can do a server side redirect to the XML file.</li>
 | |
|       </ul>
 | |
|       <p>
 | |
|       <br>
 | |
|       This only works if the exact same information can be returned for all users. 
 | |
|       If the admin has a couple of servers, they can use server side scripts (ASP or CGI) to redirect to one of a couple of XML files. 
 | |
|       Or a database can be used to customize the contents of the XML to return.<br>
 | |
|       <br>
 | |
|       <A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A> 
 | |
|       </p>
 | |
|       <P> </P>
 | |
|       <P> </P>
 | |
|       <P class=header><b>Related Information:</b> 
 | |
|       </P>
 | |
|       <HR>
 | |
|       <ul>
 | |
|         <li>IETF WPAD: <a href="ftp://ftp.ietf.org/internet-drafts/draft-melve-clientcache-com-00.txt">Web
 | |
|           Proxy Autodiscovery Protocol</a>.  Also see <a href="http://msdn.microsoft.com/standards/top150/network.asp">http://msdn.microsoft.com/standards/top150/network.asp</a>,
 | |
|           and Netscape's <a href="http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html">PAC
 | |
|           format</a>.</li>
 | |
|         <li>Code: \nt\private\inet\wininet\<span style="mso-fareast-font-family: Times New Roman; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Apdetect\apdetect.cxx,
 | |
|           DetectAutoProxyUrl(LPCSTR pszAutoProxyUrl, DWORD dwAutoProxyUrlLength,
 | |
|           DWORD dwDetectFlags).</span>
 | |
|         </li>
 | |
|       </ul>
 | |
|       <P><A href="#top"><IMG border=0 
 | |
|       height=26 src="top.gif" 
 | |
|       width=23></A></P></TD></TR>
 | |
|   <TR>
 | |
|     <TD vAlign=top width=110></TD>
 | |
|     <TD vAlign=top width=530>  </TD></TR>
 | |
|   <TR>
 | |
|     <TD vAlign=top width=110></TD>
 | |
|     <TD vAlign=top width=530>
 | |
|       <P class=modified>last updated on <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%m/%d/%y" startspan -->02/17/00<!--webbot bot="Timestamp" endspan i-checksum="12328" --> 
 | |
|       by <a href="mailto:BryanSt@microsoft.com">BryanSt</a> </P></TD></TR></TBODY></TABLE>
 | |
| <P class=modified> </P></BODY></HTML>
 |