Updated Api (markdown)
parent
f7ac6622b4
commit
1535b77fc3
114
Api.md
114
Api.md
|
@ -1,13 +1,17 @@
|
||||||
The MITREid Connect server has a robust RESTful API that is used to manage various aspects of the server's configuration. In fact, the administration UI is really just a JavaScript application that uses this RESTful API to do its job.
|
The MITREid Connect server has a robust RESTful API that is used to manage various aspects of the server's configuration. In fact, the administration UI is really just a JavaScript application that uses this RESTful API to do its job.
|
||||||
|
|
||||||
|
The API may be accessed through an active web session within the application (ie, any JavaScript running on the server itself) or through authorizing a client application through OAuth.
|
||||||
|
|
||||||
## Clients
|
## Clients
|
||||||
|
|
||||||
Endpoint: `/api/clients`
|
|
||||||
|
|
||||||
Manages all registered clients on the system, both statically and dynamically registered.
|
Manages all registered clients on the system, both statically and dynamically registered.
|
||||||
|
|
||||||
|
Endpoint: **`/api/clients`**
|
||||||
|
|
||||||
### GET /api/clients
|
### GET /api/clients
|
||||||
|
|
||||||
|
_Requires **ROLE_USER** or **ROLE_ADMIN** access._
|
||||||
|
|
||||||
Get a list of all clients on the system, returns results in `application/json`.
|
Get a list of all clients on the system, returns results in `application/json`.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -99,6 +103,8 @@ Get a list of all clients on the system, returns results in `application/json`.
|
||||||
|
|
||||||
### POST /api/clients
|
### POST /api/clients
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
Create a new client on the system. Message body is an `application/json` object with all client parameters:
|
Create a new client on the system. Message body is an `application/json` object with all client parameters:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -172,6 +178,8 @@ The server will return an updated copy of the object in `application/json` forma
|
||||||
|
|
||||||
### GET /api/clients/{id}
|
### GET /api/clients/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_USER** or **ROLE_ADMIN** access._
|
||||||
|
|
||||||
Get information about a specific client identified by {id} in the url, in `application/json` format.
|
Get information about a specific client identified by {id} in the url, in `application/json` format.
|
||||||
|
|
||||||
For example, the call to `/api/clients/1` would return:
|
For example, the call to `/api/clients/1` would return:
|
||||||
|
@ -258,6 +266,8 @@ For example, the call to `/api/clients/1` would return:
|
||||||
|
|
||||||
### PUT /api/clients/{id}
|
### PUT /api/clients/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
Update the information for the client identified by {id} in the URL. The request body must be `application/json` describing the entire client object:
|
Update the information for the client identified by {id} in the URL. The request body must be `application/json` describing the entire client object:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -331,12 +341,112 @@ The server will return an updated copy of the object in `application/json` forma
|
||||||
|
|
||||||
### DELETE /api/clients/{id}
|
### DELETE /api/clients/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
Deletes the client with the {id} in the URL.
|
Deletes the client with the {id} in the URL.
|
||||||
|
|
||||||
Returns HTTP 200 with an empty page on success.
|
Returns HTTP 200 with an empty page on success.
|
||||||
|
|
||||||
## Whitelists
|
## Whitelists
|
||||||
|
|
||||||
|
Whitelist entries allow an administrator to specify which clients will not cause a prompt a user for authorization under certain circumstances, such as a subset of the scopes for that client.
|
||||||
|
|
||||||
|
Endpoint: **`/api/whitelist`**
|
||||||
|
|
||||||
|
### GET /api/whitelist
|
||||||
|
|
||||||
|
_Requires **ROLE_USER** or **ROLE_ADMIN** access._
|
||||||
|
|
||||||
|
Get a list of all whitelists on the system, returns results in `application/json`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"creatorUserId": "jricher",
|
||||||
|
"clientId": "client",
|
||||||
|
"allowedScopes": [
|
||||||
|
"email",
|
||||||
|
"openid",
|
||||||
|
"profile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### POST /api/whitelist
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
|
Create a new whitelist on the system. Message body is an `application/json` object with all information:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"creatorUserId": "jricher",
|
||||||
|
"clientId": "client",
|
||||||
|
"allowedScopes": [
|
||||||
|
"email",
|
||||||
|
"openid",
|
||||||
|
"profile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The server will return an updated copy of the object in `application/json` format as described under **GET /api/whitelist/{id}** on success.
|
||||||
|
|
||||||
|
### GET /api/whitelist/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_USER** or **ROLE_ADMIN** access._
|
||||||
|
|
||||||
|
Get information about a specific whitelist identified by {id} in the url, in `application/json` format.
|
||||||
|
|
||||||
|
For example, the call to `/api/whitelist/1` would return:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"creatorUserId": "jricher",
|
||||||
|
"clientId": "client",
|
||||||
|
"allowedScopes": [
|
||||||
|
"email",
|
||||||
|
"openid",
|
||||||
|
"profile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### PUT /api/whitelist/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
|
Update the information for the whitelist identified by {id} in the URL. The request body must be `application/json` describing the entire whitelist object:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"creatorUserId": "jricher",
|
||||||
|
"clientId": "client",
|
||||||
|
"allowedScopes": [
|
||||||
|
"email",
|
||||||
|
"openid",
|
||||||
|
"profile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The server will return an updated copy of the object in `application/json` format as described under **GET /api/whitelist/{id}** on success.
|
||||||
|
|
||||||
|
### DELETE /api/whitelist/{id}
|
||||||
|
|
||||||
|
_Requires **ROLE_ADMIN** access._
|
||||||
|
|
||||||
|
Deletes the whitelist with the {id} in the URL.
|
||||||
|
|
||||||
|
Returns HTTP 200 with an empty page on success.
|
||||||
|
|
||||||
## Blacklists
|
## Blacklists
|
||||||
|
|
||||||
## System Scopes
|
## System Scopes
|
||||||
|
|
Loading…
Reference in New Issue