Authenticator (default.aspx)

Authenticator (default.aspx) is the first entry point for any miniservice request. It must be executed every time a miniservice is needed to execute an action in the BVRobotics.com environment. Every time it is called, it verifies security rules and appliance configuration. if every parameter has been respected and the IoT device is authorised to procede with the specific service, it releases a token that can be used the time/s needed to store the right data/s in the right table/s.

The token can be valid more than one time when a multi-action is needed. If, for example, the device is authorised to store temperature and a Geo-Reference related to that specific temperature value, then the token is valid for two different calls. The first one is the one related to the temerature to store in the MeteoSet table. The second call can be performed to the GeoCoordinate service to store the GPS position of the IoT device at the time when the specific meteo condition has been acquired.

The Authenticator service identifies the management console IP, the WAN IP and the MAC address of the IoT Device. Using those information (associated with the ones sent into the header as input parameters) it enables or not the device for the requested service.
Input Parameter

PCC

This value represents the unique identifier assigned to the IoT object. It is released at configuration time by the IoT certification authority.
It is well known as "device name" (Letteral 3 or 4 chars) and to obtain it you can use the IoT Manager web app or request it via Email

APP

It represents a numeric value to describe the set code requested. A set of functions is needed to cathegorise each single function into area of applications:

1 :Meteo Services
2 :Positional Services
3 :Healt Services
4 :Configuration service (used for Generic devices also)
5 :For internal use only
6 :PowerPlugs actuators

To combine two different set of services you can simply concat two APP codes. For example, if you want to combine a Meteo Service with a Positional service you can use APP=12 as input parameter.

TAG

This will be used in future version of Miniservices and will contain social tags to link the service to mobile apps or to social web sites.

LANIP

This value contains a string representing the IP address of the management console relased to the appliance once the IoT device is connected to a LAN.The IP address in this string must be the LAN IP and not the WAN one. The WAN one is automaticaly retrieved from the HTTP header and stored into the Buonevacanze DB

Output Parameter

ApprovalCertificate

init tag of the xml certificate received.

Approved

It contains True or False depending on the approval status of the certificate.

Message

In case the request has been approved the system returns a unique token that can be used one or more time depending on the request performed and on the approval level. In case the request is not approved or in case of any error this field contains the specific error message.

NextURI

The value represent the next base URI to use for the next approval request. This parameter is very usefull in case of maintenance of the buonevacanze server or in case we need to migrate the service on another URL (temporary or permanently). Using this approach every IoT device will, simply, link to the new url starting from the next request.

This logic must be implemented, obviously, also in the IoT controller
Test String
http://www.buonevacanze.org/approver/default.aspx?PCC=KK2A&APP=3&TAG=0&LANIP=192.168.1.4