Managing Third-party Key Management Providers
As part of managing key management providers you can register Providers, link and unlink APIs with Providers, and create protected APIs.
An external Provider can be registered in the following ways:
With call back URL
With SMTP details
Without cal back URL and SMTP configuration
Registering a Provider with call back URL
HTTP Method: POST
EndPoint URL: http://<host>:<port>/abs/apirepository/providers
Payload
{
"apiportaluuid": "e500b8bb-26e5-4963-98c6-246789a2fc96",
"providerurl": "http://sag.cs.org:53307/Centrasite",
"version": "9.12.0.3",
"notificationPlugins": [
{
"id": "HTTP",
"pluginParameters": {
"com.aris.umc.apiportal.external.event.notify.endpoint":
"http://sag.cs.org:53307/Centrasite/apimgmt/accesstokens/v1",
"com.aris.umc.apiportal.external.event.notify.method": "POST",
"com.aris.umc.apiportal.external.event.notify.contentType": "application
/json"
}
}
]
}
Usage: When consumers request, renew or revoke access tokens from API Portal, the request is sent to the POST endpoint that publishes the token to API Portal.
Registering a Provider with SMTP details
HTTP Method: POST
EndPoint URL: http://<host>:<port>/abs/apirepository/providers
Payload
{
"apiportaluuid": "e500b8bb-26e5-4963-98c6-246789a2fc96",
"providerurl": "http://sag.cs.org/external",
"version": "9.12.0.3",
"notificationPlugins": [
{
"id": "SMTP",
"pluginParameters": {
"com.aris.umc.apiportal.external.event.notify.subject"
:"New ${event.type}",
"com.aris.umc.apiportal.external.event.notify.message":"Hello,/n/nThere
is a new ${event.type} event received from webMethods API Portal
(${event.portalURL}) /n /n Best Regards, /n /n API Portal Team/n/n***
This notification was sent automatically. Do not reply to this email.***"
}
}
]
}
Usage: When consumers request, renew or revoke access tokens from API Portal, the request details are mailed to the provider's mail id. The provider publishes the token to API Portal with the proper endpoint.
Registering a Provider without call back URL and SMTP configuration
HTTP Method: POST
EndPoint URL: http://<host>:<port>/abs/apirepository/providers
Payload
{
"apiportaluuid": "e500b8bb-26e5-4963-98c6-246789a2fc96",
"providerurl": "http://sag.cs.org/external",
"version": "9.12.0.3"
}
Usage: When consumers request, renew or revoke access tokens from API Portal, the event is stored in events database (in NEW state). The provider has to query the events and should update the status of the event.
Linking an API with a Provider
HTTP Method: PUT
EndPoint URL: http://<host>:<port>/abs/apirepository/providers/<providerId>/apis
Payload
[
"api1_id",
"api2_id"
]
Example:
[
"496ef631-23cf-11e6-4593-d4bed967adb3",
"ac90c761-1e5d-11e6-3117-d4bed967adb3"
]
Creating a protected API
HTTP Method: PATCH
EndPoint URL: http://<host>:<port>/abs/apirepository/apis/{api_id}
Payload
[
{
"op":"replace",
"path":"isProtected",
"value":"true"
}
]
Unlinking an API with a Provider
HTTP Method: DELETE
EndPoint URL: http://<host>:<port>/abs/apirepository/providers/<providerId>/apis
Payload
[
"api1_id",
"api2_id"
]
Example:
[
"496ef631-23cf-11e6-4593-d4bed967adb3",
"ac90c761-1e5d-11e6-3117-d4bed967adb3"
]
When an API is linked with a provider (linked by means of call back URL method), then the request is processed as the provider has implemented the API.
When an API is linked with a provider (linked by means of SMTP notification method), then the request details are mailed to the provider's e-mail id. The provider then processes the request with the event-id received in the mail.
When an API is linked with a provider, who is configured without the call back URL or SMTP notification, then the provider has to query the event and process it.
When an API is not linked with any Provider, then the request details are mailed to the users of API Consumption Approver group in UMC. One of the user from that group processes the request with event-id received in the mail.