Authentication and user profile

The platform is accessible from web-browser and has an authentication server that handles registering and authentication of the users following the General Data Protection Regulation (GDPR). This section starts with thorough description of user authentication and user profile, followed by the user cases and how to run simulations for each of them. Finally, the collaboration environment is explained at the current level of implementation.

The documentation is a work in progress. If there is anything you think we missed here or would like to see, please contact m.horvat@wikki.co.uk directly.

Authentication is handled by the Keycloak server. More information on how Keycloak works can be found at https://www.keycloak.org/documentation. The admin console and the individual user profiles can be accessed at https://vipcoat-oip.com/auth.

image

End users can register and login from frontend, by clicking on login at top right corner. This will redirect user to the login page. Registration is straight forward and requires a valid email address. At registration, the platform sends a registration email to the user to confirm their email. Once accepted, the user will be able to login to the platform from the login page. Forgot password functionality is available from the login page as well. The platform will ask for the email address related to a user account. The platform will send the user a link where they can reset their password. The login page allows ‘remember me’ functionality. The login page also allows users to login via a third party identity provider. Procedures for Google and GitHub are now implemented, but it can be extended to almost any. Once the user has an account for the frontend they will have access to all parts of the platform. All the parts make use of a single centralized database of users. For example, Simphony-Remote (https://vipcoat-oip.com/sr) that hosts desktop applications and give access to them via browser. Camunda (https://vipcoat-oip.com/camunda) can be accessed with the same user account. Additionally, Camunda differentiates between admin and basic users. Admin users have access to all workflows that have been triggered in the fronted, while the basic users do not.

image

Once logged in, the user will have access to the restricted parts of the platform and will have their own user profile. The user profile is created the first time the user visits the user page (the top right corner of the website). Users are able to modify it and add information that are essential in the collaborative environment. In particular, user skills, affiliation, CV, etc. When user uploads a CV, the platform will read it and extract user skills from it using a natural language processing software. The user skills will be automatically updated. User page lists collaborations the user is involved in. The collaborations are the partnerships that the user joined. The collaborations are populated automatically according to the user’s actions at the platform. User can delete their account at two different levels. The first is not permanent and only deletes the contributions the user made at the platform. This will also initialize their user profile. The second level is permanent and deletes the user from the Keycloak server. The procedure will ask the user to give their username and password again before finalizing with the deletion. Parallel to the generation and storing of user information in MongoDB, a user ontology is being populated. It uses the standard FOAF ontology and stores user and partnerships. This allows easier access to the users in the other parts of the website.

image

The user page gives access to the user data catalog. This is the page where the user has an option of storing their results. The user are allowed to delete the results they do not want to keep.

image

A user can update their profile by clicking on the update icon. This will redirect the user to the ‘update profile’ page. The user can there add or remove the user skills, upload CV, add information about their social media, etc. Finally, the public view of the user profile is accessible to other registered users of the platform.

image