Tep User

!include includes/skins.iuml
skinparam backgroundColor #FFFFFF
skinparam componentStyle uml2
!include target/rst/in/group___tep_user.iuml

This component defines a user in the TEP GeoHazards platform. A user has a basic profile (defined in the platform) but is also linked to different external application with specific user profile (EO-SSO, Github, Cloud).

[*] --> PendingActivation : first time login
PendingActivation : User must confirm his UM-SSO email
PendingActivation : User cannot access secured services

PendingActivation --> Enabled : email confirmation
Enabled : User can access secured services

footer
GeoHazards TEP User state diagram
(c) Terradue Srl
endfooter

start
if (secured service?) then (yes)
  if (UM-SSO logged?) then (yes)
    if (user in DB?) then (yes)
      if (user pending activation?) then (yes)
        :reinvite user to confirm email;
        stop
      endif
    else (no)
      :create user account in db;
      :set account status to **Pending Activation**;
      :send confirmation email to user;
      :invite user to confirm email;
      stop
    endif
  else (no)
    :redirect user to UM-SSO IDP;
    stop
  endif
endif
:process service;
stop

footer
GeoHazards TEP User account activity diagram
(c) Terradue Srl
endfooter

Dependencies

  • uses Context to define the basic user profile (username, email, first name, last name, ...)
  • uses GithubProfile to define the github profile and link the user to his Github account
  • calls Authentication to identify the user using EO-SSO
  • belongs to a Group to associate a user to existing groups
  • calls GithubClient to contact Github interface in order to authenticate the user on Github and associate his public key
  • calls OneClient to contact OpenNebula interface and associate the cloud user with the Tep user