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>
|