@startuml
Title  Atoms SSO Design
 
Actor User
participant Atoms as App
participant TMobileIDM as IDM 

Group User Authentication flow
User->App: user tries to access application
App->App: Check if DSSO session exist or not
Group Desktop SignOn Flow if Session Exist
App->IDM: If DSSO session exist, then request for token passing the DSSO Session
Note Over IDM
Refer to OKTA IWA Desktop SignOn flow in next slide
end Note
Group Alt: If Session does not Exist
App->IDM:If DSSO session does not exist then request OKTA login page
IDM->User:Route user to OKTA login page
User->IDM:User submits the credentials
end group
IDM->IDM: Validate Credentials
IDM->App:If Authentication is successful,send the Access Token
App->User:User is routed to landing page
end Group
end Group
Group Client Credential flow
@enduml