Identification handler (identhandler)
The identification handler provides the identification information for the IAM server. It operates based on the identifier plugins (modules). Different modules use different sources of identification information. Currently, the following identification modules are implemented:
- fileidentifier – uses files stored on a file system to provide identification information
- visidentifier – uses VIS to provide identification information
The identification handler provides the following identification information:
- system ID – a unique identifier that allows AosCloud to identify this particular device
- board model – identifies the device model
- subjects – current unit subjects
It also supports setting user claims and provides a notification mechanism to notify clients about user claim changes.
- File identifier (fileidentifier)
- VIS identifier (visidentifier)
The file identifier (fileidentifier) reads the system ID, board model, unit subjects information from the files stored on the file system. Paths to that files are defined in the IAM configuration module as the systemIDPath, boardModelPath, subjectsPath parameters accordingly. The file identifier reads the whole file content without spaces as system ID and board model values. User claims (users) should be stored as one claim per line. On user claims, the file identifier overwrites the subjects file with the unit subjects values and notifies about subjects changed by writing new subjects value to the dedicated channel.
The VIS identifier (visidentifier) implements a secure web socket client (WSS) to communicate with VIS. The module configuration contains the parameter visServer, which contains the VIS server address.
The VIS identifier retrieves the following VIS attributes for the identification information:
- Attribute.Vehicle.VehicleIdentification.VIN – for the system ID
- Attribute.BoardIdentification.Model – for the board model
- Attribute.Vehicle.UserIdentification.Subjects – for unit subjects
It is also subscribed to the Attribute.Vehicle.UserIdentification. Users attribute changes to implement the users change notification.