2016-11-29 15:30:53 +00:00
[[_service_protection_api]]
2017-10-09 06:38:46 +00:00
= Protection API
2016-05-31 20:36:14 +00:00
2016-06-05 22:17:31 +00:00
The Protection API provides a UMA-compliant set of endpoints providing:
2016-05-31 20:36:14 +00:00
2018-02-28 07:53:43 +00:00
* *Resource Management*
2016-05-31 20:36:14 +00:00
+
2017-08-28 12:50:14 +00:00
With this endpoint, resource servers can manage their resources remotely and enable <<_enforcer_overview, policy enforcers>> to query the server for the resources that need protection.
2016-05-31 20:36:14 +00:00
2018-02-28 07:53:43 +00:00
* *Permission Management*
2016-05-31 20:36:14 +00:00
+
2018-02-28 07:53:43 +00:00
In the UMA protocol, resource servers access this endpoint to create permission tickets. {project_name} also provides
endpoints to manage the state of permissions and query permissions.
2016-05-31 20:36:14 +00:00
2018-06-12 17:23:53 +00:00
* *Policy API*
+
{project_name} leverages the UMA Protection API to allow resource servers to manage permissions for their users. In addition
to the Resource and Permission APIs, {project_name} provides a Policy API from where permissions can be set to resources by resource
servers on behalf of their users.
2016-11-15 21:34:20 +00:00
An important requirement for this API is that _only_ resource servers are allowed to access its endpoints using a special OAuth2 access token called a protection API token (PAT).
2017-10-09 06:38:46 +00:00
In UMA, a PAT is a token with the scope *uma_protection*.