Пароли приложений (Application Passwords)

С версии WP 5.6, появились маршруты, которые позволяют получить/создать/обновить/удалить пароли приложений конкретного юзера.

Возможные маршруты (конечные точки маршрутов описаны ниже):

/wp/v2/users/{ID}/application-passwords // работает с указанным юзером
/wp/v2/users/me/application-passwords   // работает с текущим юзером

/wp/v2/users/{ID}/application-passwords/introspect

/wp/v2/users/{ID}/application-passwords/uuid
/wp/v2/users/me/application-passwords/uuid

Схема

Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.

Параметр Контекст Описание
uuid
Строка readonly
view, edit, embed Уникальный идентификатор для пароля приложения.
app_id
Строка
view, edit, embed UUID предоставляемый приложением для уникальной идентификации. Рекомендуется использовать UUID v5 с пространством имен URL или DNS.
name
Строка required
view, edit, embed Название пароля приложения.
password
Строка readonly
edit Создаваемый пароль. Доступен после добавления приложения.
created
Строка readonly
view, edit Дата и время (GMT) создания пароля приложения.
last_used
Строка/null readonly
view, edit Дата и время (GMT) последнего использования пароля приложения.
last_ip
Строка/null readonly
view, edit IP-адрес, с которого последний раз использовался пароль приложения.

/wp/v2/users/{ID}/application-passwords
/wp/v2/users/me/application-passwords

Запрос OPTIONS к маршруту вернет полное описание этого маршрута.

OPTIONS http://demo.wp-api.org/wp-json/wp/v2/users/{ID}/application-passwords
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET",
        "POST",
        "DELETE"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "context": {
                    "description": "Рамки в которых сделан запрос, определяют поля в ответе.",
                    "type": "string",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "default": "view",
                    "required": false
                }
            }
        },
        {
            "methods": [
                "POST"
            ],
            "args": {
                "app_id": {
                    "description": "UUID предоставляемый приложением для уникальной идентификации. Рекомендуется использовать UUID v5 с пространством имен URL или DNS.",
                    "type": "string",
                    "format": "uuid",
                    "required": false
                },
                "name": {
                    "description": "Название пароля приложения.",
                    "type": "string",
                    "required": true
                }
            }
        },
        {
            "methods": [
                "DELETE"
            ],
            "args": []
        }
    ],
    "schema": { ... }
}

Просмотр Паролей приложений юзера

Получает все пароли приложения пользователя. См. WP_Application_Passwords::get_user_application_passwords().

Вид запроса

GET /wp/v2/users/{id}/application-passwords

Параметры запроса

$context(строка)
Рамки в которых сделан запрос, определяют поля в ответе. Возможные значения: view, embed, edit.
По умолчанию: view

Пример запроса

GET https://wp-kama.ru/api/wp/v2/users/1/application-passwords

Ответ:

[
	{
		"uuid": "e76548d7-0274-438c-b04a-904301bda4d32",
		"app_id": "",
		"name": "Тест",
		"created": "2020-12-23T13:47:55",
		"last_used": "2020-12-23T13:48:55",
		"last_ip": "89.149.201.210",
		"_links": {
			"self": [
				{
					"href": "https://wp-kama.ru/api/wp/v2/users/1/application-passwords/e76548d7-0274-438c-b04a-904301bda4d32"
				}
			]
		}
	},
	{
		"uuid": "e76548d7-0274-438c-b04a-987301bda4d32",
		"app_id": "",
		"name": "Test2",
		"created": "2020-12-23T13:49:08",
		"last_used": null,
		"last_ip": null,
		"_links": {
			"self": [
				{
					"href": "https://wp-kama.ru/api/wp/v2/users/1/application-passwords/e76548d7-0274-438c-b04a-987301bda4d32"
				}
			]
		}
	}
]

Создание Пароля приложения

Создает пароль приложения. См. WP_Application_Passwords::create_new_application_password().

Вид запроса

Доступ: требует авторизацию.

POST /wp/v2/users/{id}/application-passwords

Параметры запроса

$name(строка) (обязательный)
Название пароля приложения.
$app_id(строка)
UUID предоставляемый приложением для уникальной идентификации. Рекомендуется использовать UUID v5 с пространством имен URL или DNS.
По умолчанию: ''

Пример запроса

POST https://wp-kama.ru/api/wp/v2/users/1/application-passwords?name=Test2

Ответ:

{
	"uuid": "c9e5ce07-0ccb-4a2e-963a-feda93cf8bab",
	"app_id": "",
	"name": "Test2",
	"created": "2020-12-23T12:41:38",
	"last_used": null,
	"last_ip": null,
	"password": "pNFX LyvZ gz75 tiks UZiT xlSL",
	"_links": {
		"self": [
			{
				"href": "https://wp-kama.ru/api/wp/v2/users/1/application-passwords/c9e5ce07-0ccb-4a2e-963a-feda93cf8bab"
			}
		]
	}
}

Удаление Паролей приложения юзера

Удаляет все пароли предложений пользователя. См. WP_Application_Passwords::delete_all_application_passwords().

Вид запроса

Доступ: требует авторизацию.

DELETE /wp-json/wp/v2/users/1/application-passwords

Параметры запроса

Параметров нет.

Пример запроса

DELETE https://example.com/wp-json/wp/v2/users/1/application-passwords

/wp/v2/users/{ID}/application-passwords/introspect

Получает пароль приложения, который используется в данный момент для аутентификации пользователя.

См. WP_REST_Application_Passwords_Controller::get_current_item().

Запрос OPTIONS к маршруту вернет полное описание этого маршрута.

OPTIONS http://demo.wp-api.org/wp-json/wp/v2/users/{ID}/application-passwords/introspect

Вид запроса

GET /wp/v2/users/{ID}/application-passwords/introspect

Параметры запроса

$context(строка)
Скоуп запроса, определяют поля в ответе. Возможные значения: view, embed, edit.
По умолчанию: view

/wp/v2/users/{ID}/application-passwords/uuid
/wp/v2/users/me/application-passwords/uuid

Эти эндпоинты такие же как предыдущие, только работают с конкретным паролем приложения.

Запрос OPTIONS к маршруту вернет полное описание этого маршрута.

OPTIONS http://demo.wp-api.org/wp-json/wp/v2/users/{ID}/application-passwords/{uuid}
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "context": {
                    "description": "Рамки в которых сделан запрос, определяют поля в ответе.",
                    "type": "string",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "default": "view",
                    "required": false
                }
            }
        },
        {
            "methods": [
                "POST",
                "PUT",
                "PATCH"
            ],
            "args": {
                "app_id": {
                    "description": "UUID предоставляемый приложением для уникальной идентификации. Рекомендуется использовать UUID v5 с пространством имен URL или DNS.",
                    "type": "string",
                    "format": "uuid",
                    "required": false
                },
                "name": {
                    "description": "Название пароля приложения.",
                    "type": "string",
                    "required": false
                }
            }
        },
        {
            "methods": [
                "DELETE"
            ],
            "args": []
        }
    ],
    "schema": { ... }
}

Просмотр Пароля приложения

Получает пароли указанного приложения. См: WP_REST_Application_Passwords_Controller::get_item().

Вид запроса

GET /wp/v2/users/{ID}/application-passwords/{uuid}

Параметры запроса

$context(строка)
Скоуп запроса, определяют поля в ответе. Возможные значения: view, embed, edit.
По умолчанию: view

Пример

GET https://example.com/wp-json/wp/v2/users/1/application-passwords/e79943d8-0367-287c-b07a-90001bda4d32

Ответ:

{
	"uuid": "e79943d8-0367-287c-b07a-90001bda4d32",
	"app_id": "",
	"name": "Test2",
	"created": "2020-12-23T13:49:08",
	"last_used": null,
	"last_ip": null,
	"_links": {
		"self": [
			{
				"href": "https://example.com/api/wp/v2/users/1/application-passwords/e79943d8-0367-287c-b07a-90001bda4d32"
			}
		]
	}
}

Обновление Пароля приложения

Обновляет пароль для указанного приложения. См: WP_REST_Application_Passwords_Controller::update_item().

Вид запроса

Доступ: требует авторизацию.

POST|PUT|PATCH /wp/v2/users/{user_id}/application-passwords/{uuid}

Параметры запроса

$name(строка) (обязательный)
Название пароля приложения.

Пример

POST https://example.com/wp-json/wp/v2/users/1/application-passwords/e77743d8-0367-287c-b07a-90001bda4d32

Удаление Пароля приложения

Удаляет пароли юзера для указанного приложения. См: WP_REST_Application_Passwords_Controller::delete_item().

Вид запроса

DELETE /wp/v2/users/{user_id}/application-passwords/{uuid}

Параметры запроса

Параметров нет.

Пример

DELETE https://example.com/wp-json/wp/v2/users/1/application-passwords/e78743d8-0367-287c-b07a-90001bda4d32