1 @startuml Obtain Access Token
6 participant securityservice
7 participant invokerservice
8 participant publishservice
9 participant providermanager
13 alt#LightBlue #LightBlue Security Service
14 InvokerClient->securityservice: Request token\n for service with\n AccessTokenReq
15 securityservice->invokerservice: Is invoker registered?
16 invokerservice->securityservice: Ok
17 securityservice->keycloak: Is secret valid?
18 keycloak->securityservice: Ok
19 alt#Salmon #Salmon Check scope
20 securityservice->providermanager: Is function providing\n service registered?
21 providermanager->securityservice: Ok
22 securityservice->publishservice: Is service published?
23 publishservice->securityservice: Ok
25 securityservice->keycloak: get token
26 keycloak->securityservice: JWT token
27 securityservice->InvokerClient: AccessTokenRsp\n with token