provider-reciever-webapp-service.uml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. title "How to Create GateToken for Api23 Service
  2. boundary ReceiverApp as rec_page
  3. boundary Api23Service as api23
  4. entity ProvBackend as prov_back
  5. database ProvDB as prov_db
  6. database MemoryDB as bunt_db
  7. entity SsoServer as sso_svr
  8. autonumber
  9. rec_page->api23: request /api23-webapp\n(Api23Key)@Htm header, \n Json in htm body
  10. activate api23
  11. api23->api23: get ClientId #SysVars
  12. api23->prov_back: request\n/gate-token-get \n %ClientId, BB64, %json & \n( Referer, Api23Key ) @htmHeader
  13. activate prov_back
  14. prov_back->sso_svr: request /key-pair-get % ClientID
  15. activate sso_svr
  16. sso_svr->prov_back: respond KeyPair
  17. deactivate sso_svr
  18. prov_db->prov_back: get Api23eKeyPair@setup table
  19. prov_back->prov_back: extract Api23KeyPair \n $Api23eKeyPair, KeyPair
  20. prov_back->prov_back: decrypt Api23Key %Api23KeyPair \n #(ClientId, RecUrl, SsoSubId)
  21. note over prov_back
  22. [if not]
  23. ClientId@HtmHeader = ClientId
  24. Referer@HtmHeader = RecUrl
  25. end note
  26. prov_back->api23: response Failure
  27. note over prov_back: [else]
  28. prov_back->prov_back: get GateToken, GTB %BB23, KeyPair
  29. prov_back->bunt_db: save GateToken and GateTokenInfo
  30. note over prov_back: [receiver_type=app]
  31. prov_back->api23: response OK \nwith GateToken
  32. deactivate prov_back
  33. api23->rec_page: response OK \nwith GateToken, ApiUrl
  34. deactivate api23