Claves de API
La API de administración de Microsoft IIS permite generar y ver información de clave de API a través de puntos de conexión protegidos.
Este punto de conexión proporciona información no confidencial sobre el token de acceso que se usa para la solicitud.
GET /api/access-token
{
"id": "{access-token-id}",
"expires_on": "2018-02-02T16:25:31.4003337Z",
"type": "SWT",
"api_key": {
"purpose": "Admin",
"id": "{api-key-id}",
"_links": {
"self": {
"href": "/security/api-keys/{api-key-id}"
}
}
}
}
Este punto de conexión permite la creación y eliminación mediante programación de claves de API. Esto es útil para generar claves de API que solo existirán para el ámbito de una sesión de scripting o para administrar claves de API con una aplicación central. El punto de conexión de las claves de API está en la ubicación /security, lo que significa que, de forma predeterminada, solo los administradores de IIS y los administradores de IIS tienen acceso a él.
GET /security/api-keys/{api-key-id}
{
"purpose": "Admin",
"id": "{api-key-id}",
"created_on": "2017-02-02T16:25:31.4003337Z",
"last_modified": "2017-02-02T16:25:31.4003337Z",
"expires_on": "2018-02-02T16:25:31.4003337Z",
"_links": {
"access_token": {
"href": "/security/access-tokens/{access-token-id}"
}
}
}
La creación de una clave de API es una tarea especial que requiere dos solicitudes. La solicitud adicional se usa para evitar CSRF. En primer lugar, el usuario debe consultar el punto de conexión de las claves de API y recibir un token especial del encabezado XSRF-TOKEN . A continuación, el usuario puede crear la clave de API especificando el encabezado XSRF-TOKEN en la solicitud de creación.
Nota: XSRF-TOKEN se envía como un encabezado HTTP.
Client Server
| |
| GET /security/api-keys |
| ----------------------------------------------> |
| |
| |
| XSRF-TOKEN: {value} |
| <---------------------------------------------- |
| |
| |
| POST /security/api-keys |
| XSRF-TOKEN: {value} |
| |
| { |
| "purpose": "Admin" |
| } |
| ----------------------------------------------> |
| |
| |
| { |
| "access_token" : "{access-token-value}" |
| } |
| <---------------------------------------------- |
La sección solicitud POST de generación de claves de API es donde se pueden especificar parámetros para la clave de API. Este es un ejemplo de un cuerpo POST que crea una clave de API con un propósito específico y una fecha de expiración.
{
"purpose": "Admin",
"expires_on": "2018-02-02T16:25:31.4003337Z",
}
Las claves de API se pueden eliminar mediante la realización de una solicitud DELETE en el punto de conexión de la clave de API /security/api-keys/{api-key-id}