SecureIdentityAlliance / osia

Open Standard set of APIs for interoperability of identity management building blocks.
https://osia.readthedocs.io/en/latest/
Other
21 stars 20 forks source link

Callback management (abis.yaml updated) #77

Open williamT13 opened 11 months ago

williamT13 commented 11 months ago

1.6.0: Added methods to manage asynchronous responses (callbacks)

o New Get Response Status method o New Retrigger Response method

Description

In the current OSIA ABIS API (and certainly all APIs with asynchronous result by callback), there are some lacks linked to asynchronous operations, at least:

In an operational point of view, we can’t reasonably consider that we have no view on a transaction status, and no way to get a missed result. And that any client should send again the same command to hope having a result next time. Such lack requires to complexify the client process by managing a functional retry (clone the transaction) for a transaction which is possibly already completed and its result available (if not purged…). We could consider that all transaction results will be deleted/purged (e.g. after successful delivery via callback, but also after a predefined period), but it should be done after a configured time (e.g. after 1 day) (or manually during an operational process). It means that, during a preconfigured period, we should be able to ask again for a result by callback if we detect that we missed it.

Remark

Should be applicable for all modules with asynchronous responses (callbacks), not only ABIS.

olivier-heurtier-idemia commented 5 months ago

In addition, I propose a service to get directly the response in case the execution is completed. It will allow to poll the result when the client application cannot expose the callback endpoint, for example for security reason.