2017-03-27 Fred Gleason <fredg@paravelsystems.com>

* Added a 'WEBAPI_AUTHS' table to the database.
	* Added a 'USERS.WEBAPI_AUTH_TIMEOUT' field to the database.
	* Incremented the database version to 260.
	* Added 'RDUser::webapiAuthTimeout()' and
	'RDUser::setWebapiAuthTimeout()' methods in 'lib/rduser.cpp' and
	'lib/rduser.h'.
	* Added a 'WebAPI Timeout' control to the Edit User dialog in
	'rdadmin/edit_user.cpp' and 'rdadmin/edit_user.h'.
	* Implemented a 'CreateTicket' Web API call.
This commit is contained in:
Fred Gleason
2017-03-27 13:43:42 -04:00
parent 60a9deb349
commit bc2c441680
61 changed files with 602 additions and 639 deletions

View File

@@ -87,6 +87,112 @@
</table>
</sect1>
<sect1>
<title>Authentication</title>
<para>
With the exception of the <command>CreateTicket</command> command, all
commands in this API must be authenticated by one of the following two
methods:
</para>
<sect2>
<title>
Username / Password
</title>
<para>
<table xml:id="ex.authentication.userpassword" frame="all">
<title>Username/Password Authentication Fields</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<colspec colname="FIELD NAME" />
<colspec colname="MEANING" />
<colspec colname="REMARKS" />
<thead>
<row>
<entry>
FIELD NAME
</entry>
<entry>
MEANING
</entry>
<entry>
REMARKS
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect2>
<sect2>
<title>
Ticket
</title>
<para>
<table xml:id="ex.authentication.ticket" frame="all">
<title>Ticket Authentication Fields</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<colspec colname="FIELD NAME" />
<colspec colname="MEANING" />
<colspec colname="REMARKS" />
<thead>
<row>
<entry>
FIELD NAME
</entry>
<entry>
MEANING
</entry>
<entry>
REMARKS
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
TICKET
</entry>
<entry>
40 character ticket code, obtained from a previous
<command>CreateTicket</command> call.
</entry>
<entry>
Mandatory
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect2>
</sect1>
<sect1>
<title>Result Reporting</title>
<para>
@@ -184,28 +290,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
GROUP_NAME
@@ -290,28 +374,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -368,28 +430,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
LOG_NAME
@@ -462,28 +502,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -551,28 +569,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -640,6 +636,51 @@
Mandatory
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1>
<title>CreateTicket</title>
<subtitle>Create an authorization ticket for a given user/client IP address</subtitle>
<para>
Command Code: <code>RDXPORT_COMMAND_CREATETICKET</code>
</para>
<para>
Required User Permissions: none
</para>
<table xml:id="ex.createticket" frame="all">
<title>CreateTicket Call Fields</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<colspec colname="FIELD NAME" />
<colspec colname="MEANING" />
<colspec colname="REMARKS" />
<thead>
<row>
<entry>
FIELD NAME
</entry>
<entry>
MEANING
</entry>
<entry>
REMARKS
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
COMMAND
</entry>
<entry>
31
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
@@ -707,28 +748,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -796,28 +815,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
LOG_NAME
@@ -892,28 +889,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -1179,28 +1154,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -1565,28 +1518,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -1759,28 +1690,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -1864,28 +1773,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -2035,28 +1922,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -2128,28 +1993,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
GROUP_NAME
@@ -2245,28 +2088,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -2328,28 +2149,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -2422,28 +2221,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -2505,28 +2282,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
GROUP_NAME
@@ -2588,28 +2343,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
</tbody>
</tgroup>
</table>
@@ -2655,28 +2388,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
NAME
@@ -2733,28 +2444,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
SERVICE_NAME
@@ -2833,28 +2522,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
</tbody>
</tgroup>
</table>
@@ -2900,28 +2567,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
TRACKABLE
@@ -2980,28 +2625,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -3058,28 +2681,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -3148,28 +2749,6 @@
Mandatory.
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory. String.
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory. String.
</entry>
</row>
<row>
<entry>
LOG_NAME
@@ -3693,28 +3272,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER
@@ -3798,28 +3355,6 @@
Mandatory
</entry>
</row>
<row>
<entry>
LOGIN_NAME
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
PASSWORD
</entry>
<entry>
Login Password
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
CART_NUMBER