Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Since 2017.01 the Digital Delta import assumes that authentication is required for the given serverUrl, the properties clientId and clientSecret are required in the import configuration file. When using the google authentication service, the property refreshToken is also needed. By default the import will use "https://accounts.google.com/o/oauth2/token" as tokenUrl, optionally, a tokenUrl property can be specified.  Note that other authentication services have not yet been tested.

Digital Delta offer two version of enidpoints. By default, version 1.0 is used. Since 2021.02 version 2.0 is also supported by FEWS. To use the new version, add version v2 to the properties. (See below.)


Example Import configuration file:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesImportRun xmlns="http://www.wldelft.nl/fews"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/timeSeriesImportRun.xsd">
<!-- This is an example import configuration file for importing Observations and Measurements data from a service -->
<import>
    <general>
        <importType>DigitalDelta</importType>
        <serverUrl>http://host:port/FewsWebServices/rest/digitaledelta/1.0/timeseries</serverUrl>
        <relativeViewPeriod unit="hour" start="-5" end="0" startOverrulable="true" endOverrulable="true"/>
        <idMapId>IdImportDD</idMapId>
    </general>
    <properties>
         <string key="version" value="v2"></string>
    </properties>
    <timeSeriesSet>
       <moduleInstanceId>ImportDD</moduleInstanceId>
       <valueType>scalar</valueType>
       <parameterId>MyPar</parameterId>
       <locationSetId>MyLocSet</locationSetId>
       <timeSeriesType>external historical</timeSeriesType>
       <timeStep unit="nonequidistant"/>
       <readWriteMode>add originals</readWriteMode>
       <synchLevel>1</synchLevel>
    </timeSeriesSet>
</import>
</timeSeriesImportRun>

...

 

Code Block
languagexml
<general>
    <importType>DigitalDelta</importType>
    <serverUrl>http://host:port/FewsWebServices/rest/digitaledelta/1.0/timeseries</serverUrl>
    <!-- <user>username</user> -->                <!-- normally not required for OAuth2 -->
    <!-- <password>userpassword</password> -->    <!-- normally not required for OAuth2 -->
    <oauth2Config>
        <!-- Required: URL from which to receive the access token -->
        <authUrl>https://sso.aquadesk.nl/connect/token</authUrl>
        <!--
 Optional: For proper OAuth2 authentication a client_id and 
client_secret are required. However in some cases the authentication URL
 does not require this. 
             Instead
 Basic Authentication is required to access the authUrl. Here the user 
and password fields shown above are required -->
        <clientId>openid client id</clientId>
        <clientSecret>openid client secret</clientSecret>
        <!-- Optional Array: Scope of request -->
        <scope>openid</scope>
        <scope>email</scope>
        <!-- Optional Array: Audience for whom request is intended. Used to validate response. If omitted the clientId and username become are used -->
        <audience>audienceId</audience>
        <audience>audienceId2</audience>
       <!-- Optional: Issuer of the access token. Used to validate response. If omitted the root url of authUrl is used. -->
        <issuer>https://sso.aquadesk.nl</issuer>
       <!-- Optional: A refresh token can be used if provider supports this. -->
        <refreshToken>refresh access token</refreshToken>
    </oauth2Config>
    ...
 </general>

 

OAuth2 Authentication versions before 2017.02

 

Code Block
languagexml
<general>
    <importType>DigitalDelta</importType>
    <serverUrl>http://host:port/FewsWebServices/rest/digitaledelta/1.0/timeseries</serverUrl>
    <!-- <user>username</user> -->                <!-- normally not required for OAuth2 -->
    <!-- <password>userpassword</password> -->    <!-- normally not required for OAuth2 -->    
    ...
 </general>
<properties>
   <string key="authUrl" value="https://accounts.google.com/o/oauth2/token" />
   <string key="issuer" value="https://sso.aquadesk.nl" />
   <string key="clientId" value="id...." />
   <string key="clientSecret" value="*****" />
</properties>