ECIM Common Single-Sign-On API

The ECIM platform will use FutureID as the unique authentication provider for end users of developer’s applications. The FutureID project provides an identity management infrastructure based on an open source eID client that can be integrated to existing services without substantial effort. The Application Integration Services (AIS) component, currently under development, is the main FutureID component that has to be integrated to the ECIM Platform. The envisaged integration schema is depicted in the figure below.

payment_api_user_ID

The developers will use FutureID to authenticate an end user. After authentication, if a method of another service provider is called, ECIM_ID is used as authentication parameter and there is no need for the end user to register for each service provider’s registration API separately. Therefore, ECIM has the central role of authorizing the user and the service providers should trust ECIM and validate the users to use their services. Optionally validation of the credit card of the user may be requested in order to be able to call the methods of the ECIM Common Payment API.

The service described below could be a way to enable the developer get the ECIM_ID of an authenticated user. The user will have authenticated himself using the FutureID IAS interface which will in turn return the FutureID UID to the developer. Using this, the developer will be able to ask ECIM Platform for the user’s ECIM_ID.

Request the end-user’s ECIM_ID

Method Endpoint
[GET]
/ecim_user?futureID=<FutureID_UID>
Description of the Service
This method will provide the ECIM_ID of an end-user that has authenticated with the FutureID AIS. The ECIM_ID can be consequently used by developers to call the methods of the other ECIM Common APIs.
Input
Parameter and Value Brief Description
futureID, String, required The FurureID UID returned by the FutureID AIS
Example Request
platform.ecim-cities.eu/provider/ecim_user?futureID=324j7dsf123j
Outputs
Parameter and Value Brief Description
ECIM_id, String, required User’s ECIM id.
message, String, optional A text response
Example Response

{

“ECIM_ID”:”LSKEF982PAO13LFK”,

“message”:”success”

}