-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Problem description
The instance based (implicit subscription) only supports access token credential as sink credential.
Consequently, it is not possible to refresh the access token. Once expired, no further events can be communicated from resource server to API Invoker.
Possible solution: The sink credential type "plain credential" could be used instead of sink credential type "access token" . In addition the endpoint of the API Invokers authZ server must be made known to the resource server. then the resource server can get hold of an access token and a refresh token. Especially it is possible to acquire a new access token when the old one has expired.
Alternative solution: The sink credential type "refresh token" could be used instead of sink credential type "access token", but must be extended with client_id and client_secret. . In addition the endpoint of the API Invokers authZ server must be made known to the resource server. Then the resource server and use the access token provided in the refresh-token sink until it has expired and refresh it using the refresh token and the client credentials after expiry. this is the most convenient solution for the API resource server.
Additional context
CAMARA API QoD yaml file contains the current limitation about only supporting the sink of type "access token". Once the limitation has been removed from the Common documentation (https://github.com/camaraproject/Commonalities/blob/main/documentation/CAMARA-API-Event-Subscription-and-Notification-Guide.md) also the API implementations must be adjusted.