![]() |
|
|
Notice: This document currently describes the 4.x protocol and configurations. The changes for 5.0 have not been incorporated (or identified) yet.
Guide to Online Internet Account CreationNetscape Communicator 4.0Milan 4.0 Client - Server
Disclaimer: Netscape provides this document solely as additional information. No technical support obligation is implied. A sample Internet account server can be found on the Mission Control CD. This software is supplied by Solect Technology. This document simply contains advice about the generic account-creation process, based on internal experience with the Netscape Communicator Dial-Up Edition and Netscape's own Internet Account Server. This information is subject to change at any time and without prior notice. If you are unable to implement an account server application, your options are limited to those available through the Dial-Up Edition itself as documented in the Netscape Mission Control Guide. © 1996, 1997 Netscape Communications Corporation Netscape Communications, Netscape, Netscape Navigator, Netscape Communicator,
All other brand and product names mentioned herein
IntroductionThis document describes the generic interaction between Netscape Navigator (the client) and an Internet account server during the online account creation process. You can also find described here specific client-to-server (request) and server-to-client (reply) protocols available to support this process. For more information about the client side of the account creation process, see the Netscape Mission Control Guide. Purpose of This DocumentYou can use this document to help you plan and build a custom online account creation process for your Internet service customers and to help you acquire subscribers for your access services. What This Document Doesn't CoverThis document doesn't explain how to customize the client, nor does it cover how to create or implement a server-side account creation application. See the Netscape Mission Control Guide for information about customizing the account creation process on the client. The Dial-Up Edition documentation offers specific information you can use to customize the client to interact with your account-creation application.
OverviewThe purpose of an Internet account server is to receive customer information, create a new service account based on that information, and to configure the client for access by sending the necessary new account configuration information back to the client. Ordinarily, Netscape Communicator Dial-Up Edition users have two paths they can take during installation: "create an account online" or "create an account offline." This document advises ISPs who want to offer users an online, direct path to an account creation server of their own design. The standard Netscape Communicator Dial-Up Edition package includes three components with which users interact:
The Installation Program installs Account Setup and Netscape Communicator. After installation, the user runs Account Setup to establish an account with an Internet Service Provider - in this case, your service. Account Setup guides the user through the information-collection and server-contact processes. It leverages information you've pre-configured in the ACCTSET.INI, SAMPLE.IAS, and REGISTER.HTM files. These steps include running the dialer and Account Setup and establishing a PPP connection to your server for account creation. Netscape Navigator passes the user's registration data to your account-server application (as an HTTP or HTTPS POST Request). The account server processes this data as appropriate, and walks the user through your registration screens, which usually includes creating a user account and packaging the final configuration information necessary to connect this client to your service. The overall flow of information is as follows: Navigator is started with a special flag, forcing it into kiosk mode. (On the Macintosh platform, an Apple Event is used to accomplish this.) A user goes through the screens which collect data and set up the modem. Navigator connects to the server and passes along the information collected plus the contents of the REGISTER.HTM file. Note: Some information is overwritten by the client regardless of the content of the REGISTER.HTM file. These fields are located in the values set by JavaScript section of REGISTER.HTM. The server sends back any forms necessary to account creation and finishes by sending back a MIME stream as described below. When all of this is completed successfully, Account Setup will catch the MIME stream, interpret it, and configure the dialer and TCP/IP software for connecting to your service based on the information returned from the server. A copy of the MIME stream information is stored in ACCTINFO.TXT in the new profile directory. Process and protocolsHere's the generic account-creation process in more detail. The available creation protocols appear with the steps they support. Overview of Account Creation & ConfigurationThe following steps must occur for a successful installation and account creation/configuration:
Process: User Runs Installation ProgramThe user runs the Install program from a CD or from Disk 1 of the Netscape Communicator installation diskettes. The installer places all of the necessary files on the user's hard disk. Process: User Runs Account SetupThe user starts Account Setup which runs inside Navigator. Note: You must test Account Setup using the exact customized version of the client that you intend to distribute to customers. Process: Account Setup Collects Account DataAccount Setup gathers the user's information. Protocol: Essential Account DataThere are two possible sources for the initial package of customer data that passes from client to server. The first is REGISTER.HTM. In REGISTER.HTM, there are two types of values - those that can be overwritten and those that can't. The values that can be overwritten are set by JavaScript. The values that can't be overwritten are set by changing the VALUE item. The second source of customer data that passes from client to server is done so by the client's HTTP header. Values set by JavaScript in REGISTER.HTM
Further explanation for the columns above:
Note 1: Since Account Setup Wizard asks for first and last names together in one field, you can have your Internet account server double check the CST_FIRST_NAME field whenever the CST_LAST_NAME field is missing. If there are two names there, then reparse the CST_FIRST_NAME. Note 2: TAPI canonical form is defined as "+CountryCode Space [(AreaCode) Space] Subscriber Number." Subscriber Number can include periods (.), spaces ( ), and dashes (-). For example, Netscape's receptionist is +1 (415) 254-1900. URL EscapingAll of the data element values passed between the client and the account server are encoded according to RFC 1738 -- Universal Resource Locators (URLs). Values set by changing the VALUE item in REGISTER.HTM
Any information defined in this section is simply sent as-is, and is optional. Note 1: Optionally, you can use REG_PLATFORM to have your server tailor its account-creation process to the client's operating system. Note 2: REG_PUBLISHING is valid only in Netscape Navigator 3.0 and later versions. Note 3: REG_SOURCE and REG_CHANNEL can be used to uniquely identify different versions for different distribution channels. Note 4: This is useful if the Account Setup program is referred to by your Internet account server and has different names on the client. From the client's HTTP headerThe Internet account server can collect the following information about the client from the HTTP header it receives:
Protocol: REGISTER.HTM File FormatIn Communicator 4.0, Account Setup stores the information it gathers in an HTML file, REGISTER.HTM, in the following format:<!-- The following values can be set by changing the VALUE item --> <INPUT NAME="name" TYPE = "hidden" VALUE = "value"> <!-- The following values are set via JavaScript --> <INPUT NAME="name" TYPE="hidden"> The first set of values may be modified or supplemented. The values set by JavaScript must be left untouched for proper operation. Process: Account Setup Dials ISP's Phone NumberOnce it has collected the data, Account Setup uses information in the SAMPLE.IAS file to run the dialer, which dials your Internet account server's phone number. The dialer establishes a PPP connection. The dialer handles user verification with the PAP protocol using a fixed user name and password, which is also set in the SAMPLE.IAS file. For more information on the .IAS file format, see the Netscape Mission Control Guide. The IAS password tool in the \Tools directory of the Dial-Up Edition CD should be used to create the encrypted password in the SAMPLE.IAS file. However, if you're using the Account Setup Editor, the passwords are automatically encrypted. Process: Navigator Passes Account Data to ServerAll of the data collected is used to build a form which is then HTTP POSTed to the RegCGI URL you have provided in the SAMPLE.IAS file. Navigator uses the URL you've stored in the SAMPLE.IAS file as the target of the form. This behavior is the same as if you had entered the following HTML syntax:
<form action = "https://SERVER.ISP.COM/REG.CGI">
Because account information is confidential (especially credit card numbers), you should implement your account-creation application with an SSL-capable web server such as Netscape's Enterprise Server. Note that the REGISTER.HTM file format example above specifies the HTTPS protocol to enable Secure Sockets Layer (SSL) encryption. However, you can change the protocol to HTTP. Process: Server Interacts with UserAccount Setup provides a frame in which server generated forms may be displayed to the user to gather account creation data. These forms are generated by your server using standard CGI protocols. Process: Server Passes Configuration Data Back to NavigatorYour account server application should create the account based on the data submitted and send that configuration data to the client so Account Setup can finish configuring the dial-in components for your service. When Navigator receives the configuration data from the server, a plug-in parses the data.
Protocol: ISP Configuration DataYour configuration information is sent in a MIME stream. The MIME header in your CGI script must be followed by two carriage returns, per the standard CGI format. The MIME type Navigator uses to receive ISP configuration data can be either of two specially coded content types: application/x-netscape-autoconfigure-dialer When Navigator sees this MIME type, it expects data in the format described below. The binary file format used by this MIME type is simple, yet extensible. It consists of consecutive name/value pairs separated by 2 bytes of size information: | 2 bytes | ------ x bytes ------ | 2 bytes | ------ y bytes ------ | (x) (name) (y) (value) The parser iterates as follows until it reaches the end of the stream:
Communicator 4.0+ also accepts the following MIME type: application/x-netscape-autoconfigure-dialer-v2 When Navigator sees this MIME type, it expects data in the format described below. The binary file format used by this MIME type is simple, yet extensible. It consists of consecutive name/value pairs separated by 4 bytes of size information: | 4 bytes | ------ x bytes ------ | 4 bytes | ------ y bytes ------ | (x) (name) (y) (value) The parser iterates as follows until it reaches the end of the stream:
Notes:
Navigator extracts the following name/value pairs from the data and processes them according to the tables below. The first name/value pair must always be the status value. If a user cancels, the account server needs to send a MIME stream of STATUS=ERROR to let Navigator gracefully shut down. Otherwise, STATUS=OK and the remaining items are included in the stream. The length fields are represented in Little Endian ("1234") format. The integer value 6 is represented as 00 06 in application/x-netscape-autoconfigure-dialer and as 00 00 00 06 in application/x-netscape-autoconfigure-dialer-v2. On machines using Big Endian ("4321") or PDP Endian ("3412") formats, you must take care to convert appropriately. Written to the [ISP Information] section of SAMPLE.IASNavigator writes this information to the SAMPLE.IAS file. (The order of entries may change and some are optional. Since each element is self-identifying via the name this isn't a problem):
Phone number informationGenerally, Account Setup uses a combination of the user's phone number and the ISP's phone number to derive the number to dial (i.e., 1+area code + number, versus the number alone). However, it can happen that both phone numbers are in the same area code but the user still needs to dial a "1" prefix. These two flags give you independent control over dialing "1" (DIAL_AS_LONG_DISTANCE ) and the area code (DIAL_AREA_CODE). For default behavior, see that your account server doesn't set either of these flags. If DIAL_AS_LONG_DISTANCE is set to YES then the "Home" (default) location for this account will be set up to dial a '1' before the number in the PHONE_NUM field. This field will be ignored if InternationalMode was set in ACCTSET.INI If DIAL_AREA_CODE is set to YES then the "Home" (default) location for this account will dial the area code given in the PHONE_NUM field. If there is no area code given in the PHONE_NUM then this field has no effect. This field will be ignored if InternationalMode was set in ACCTSET.INI If neither of these fields are sent back by your Internet account server, then Account Setup will set 'logical' defaults (both true if the number being dialed has an 800 area code, or has a different area code than the user's number. The Login ScriptOn Windows 3.1, we use the ShivaPPP script language which is an extremely limited derivative of the Microsoft scripting language. These limitations are further constricted by Account Setup and reduced to the auto_send and login_script variables. When auto_send and login_script are returned to the PC client, Account Setup does the following:
This value is only meaningful when the login_script value is not also present. The Shiva dialer will ignore the auto_send if a script exists. The login_script configuration value is formatted as: wait_for_string "|" [ reply_string ] [ "|" wait_for_string "|" [ reply_string ] ]... Note that if the reply_string is omitted and more wait/reply cycles remain, then the "|" delimiter must be present or the cycle will get out of sync. Also note that every character is significant. The reply_string values "%name" and "%password" are handled specially. The "%name" is converted into the scripting variable $USERID and the "%password" is converted into the scripting variable $PASSWORD. All other values are passed through unmodified.
or
or
ScriptFileName=<full path to <isp>.scp> As an example, the login_script value: name:|ispname|type:|ppp|login:|%name|password:|%password will result in the script:
Publishing informationREG_PUBLISHING is set to 'yes' in REGISTER.HTM in the Netscape Navigator 3.0 Gold and all 4.0 and greater releases of the dial up products. When this is sent to an Internet account server, it will send back the appropriate 'push' PUBLISH parameters back to Account Setup. These are then written into NETSCAPE.INI for Windows 3.1 or the Registry for Windows 95 at the given locations:
Process: Account Setup Puts Configuration Data in Local FilesAfter Navigator exits, control returns to Account Setup. Windows platformsAccount Setup automatically performs these steps on Windows platforms:
On Windows 95 the client uses data sent back from the account server to configure a Dial-Up Networking object on the desktop and in the Dial-Up Networking folder in the My Computer folder. Macintosh platformsOn Macintosh platforms Account Setup updates the preferences files for Netscape Navigator, Free PPP, MacTCP (if installed), and Open Transport (if installed). Process: User Runs Dialer and NavigatorAfter exiting Account Setup, the user can run the dialer and then Navigator to log directly into the new account using the configured data. Navigator should immediately connect to all the proper ports and servers.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 1998 The Mozilla Organization. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||