Skip to content

Commit

Permalink
update the description for creating a Party entity
Browse files Browse the repository at this point in the history
  • Loading branch information
andreasmatheus committed Sep 25, 2024
1 parent e900dea commit 52ca658
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The deployment of the STAplus plugin can integrated into a working deployment of
### Build and deploy STAplus standalone
Clone this directory via `git clone -b FROST-Server.v2.3.x https://github.com/securedimensions/FROST-Server-PLUS.git`. Then `cd FROST-Server-PLUS` and `mvn install`. To run the tests at the end of the `mvn install` you need to have Docker running.

Make sure you copy the `FROST-Server-2.3.2.Plugin.STAplus-1.0.jar` file to the appropriate FROST-Server directory and apply the STAplus specific settings below. Then restart FROST-Server.
Make sure you copy the `FROST-Server-2.3.2.Plugin.STAplus-1.0.1.jar` file to the appropriate FROST-Server directory and apply the STAplus specific settings below. Then restart FROST-Server.

## Deployment with FROST-Server
Use `git clone -b v2.3.x https://github.com/FraunhoferIOSB/FROST-Server.git FROST-Server.v2.3.x` to create the FROST-Server directory structure.
Expand Down Expand Up @@ -94,9 +94,9 @@ As described in the [FROST-Server Plugin documentation](https://fraunhoferiosb.g
**_NOTE:_** The type of the primary key column of the Party table (`plugins.staplus.idType.party`) is set to UUID by the implementation. This setting cannot be changed!

## <a name="EnforceOwnership"></a>Enforcement of Ownership
The activation of the `Enforcement of Ownership` allows to operate the STAplus endpoint in multi-user-CRUD mode. However, it requires to enable Authentication.
The activation of the `Enforcement of Ownership` allows to operate the STAplus endpoint in multi-user-CRUD mode. However, it requires to enable authentication using one of the existing plugins.

Each acting user is identified via a unique UUID, provided by the authentication plugin. The `REMOTE_USER` value is used to identify the user. The value of `REMOTE_USER` represents the user as a `Party` object via the `authId` property. When creating a `Party` object, the value for the `authId` property must either be empty or match the value for the `REMOTE_USER`. All other values are rejected by the implementation and will result in a response with HTTP status code 400.
Each acting user is identified via a unique UUID, based on the username (`REMOTE_USER`) provided by the authentication plugin. The `REMOTE_USER` value is used to identify the user. In case the `REMOTE_USER` value is not in UUID format, this plugin will create a UUIDv4 from the `REMOTE_USER` value! This UUID value is used for the `Party.@iot.id` and `Party.authId` property. When creating a `Party` object, the value for the `authId` property can be omitted. If you set the `authId` value in the request, it must match the UUIDv4 representation for the `REMOTE_USER`. All other values are rejected by the implementation and will result in a response with HTTP status code 400.

The classes `Thing`, `MultiDatastream`, `Datastream` and `ObservationGroup` are directly associated to a Party. Objects of class `Observation` are linked to the owning Party object via the `(Multi)Datastream`. Objects of class `Relation` are linked to the Party object via the `Subject` property.

Expand Down

0 comments on commit 52ca658

Please sign in to comment.