Application Passwords

Descripción

Use Application Passwords to authenticate users without providing their passwords directly. Instead, a unique password is generated for each application without revealing the user’s main password. Application passwords can be revoked for each application individually.

Importante: Application Paswords solo puede ser usado para identificar solicitudes a la API, como REST API y XML-RPC, y no funcionará para los accesos normales al sitio.

Contribute

Creating Application Password Manually

  1. Go the User Profile page of the user that you want to generate a new application password for. To do so, click Users on the left side of the WordPress admin, then click on the user that you want to manage.
  2. Scroll down until you see the Application Passwords section. This is typically at the bottom of the page.
  3. Within the input field, type in a name for your new application password, then click Add New.
    Note: The application password name is only used to describe your password for easy management later. It will not affect your password in any way. Be descriptive, as it will lead to easier management if you ever need to change it later.
  4. Once the Add New button is clicked, your new application password will appear. Be sure to keep this somewhere safe, as it will not be displayed to you again. If you lose this password, it cannot be obtained again.

Soporte de Two Factor

Application Passwords puede ser usado junto con el plugin Two Factor siempre y cuando evites las restricciones de acceso a la API añadidas por el plugin Two Factor. Esas protecciones desactivan las solicitudes a la API con identificación de contraseña para los usuarios con la identificación de dos factores activada.

Usa el filtro two_factor_user_api_login_enable para permitir solicitudes a la API identificadas mediante contraseñas de una aplicación:

add_filter( 'two_factor_user_api_login_enable', function( $enable ) {
    // Allow API login when using an application password even with 2fa enabled.
    if ( did_action( 'application_password_did_authenticate' ) ) {
        return true;
    }

    return $enable;
} );

Esto no es necesario si el usuario asociado a la contraseña de la aplicación no tiene activado ninguno de los métodos de identificación de dos factores.

Requesting Password for Application

To request a password for your application, redirect users to:

https://example.com/wp-admin/admin.php?page=auth_app

and use the following GET request parameters to specify:

  • app_name (required) – The human readable identifier for your app. This will be the name of the generated application password, so structure it like … «WordPress Mobile App on iPhone 12» for uniqueness between multiple versions. If omitted, the user will be required to provide an application name.
  • success_url (recommended) – The URL that you’d like the user to be sent to if they approve the connection. Two GET variables will be appended when they are passed back — user_login and password — these credentials can then be used for API calls. If the success_url variable is omitted, a password will be generated and displayed to the user, to manually enter into your application.
  • reject_url (opcional) – Si se incluye, el usuario será enviado ahí si rechaza la conexión. Si se omite, el usuario será enviado a success_url con ?success=false añadido al final. Si se omite success_url, el usuario será enviado a su escritorio.

Probando una contraseña de aplicación

Utilizamos cURL para enviar solicitudes HTTP a las variables de la API en los siguientes ejemplos.

API REST de WordPress

Haz una llamada a la API REST para actualizar una entrada. Como estás realizando una solicitud POST, tendrás que autorizar la solicitud usando tu recién creado token de acceso codificado en Base64. Si se autoriza correctamente, verás actualizado el título de la entrada como «Nuevo título».

curl --user "USERNAME:APPLICATION_PASSWORD" -X POST -d "title=New Title" https://LOCALHOST/wp-json/wp/v2/posts/POST_ID

Cuando ejecutes este comando, asegúrate de reemplazar USERNAME y APPLICATION_PASWORD con tus credenciales (cURL se encarga de la codificación Base64 y de establecer la cabecera Authorization), LOCALHOST con el hostname de tu instalación WordPress y POST_ID con el ID de la entrada que quieres editar.

XML-RPC

A diferencia de la API REST de WordPress, XML-RPC no necesita que tu nombre de usuario y contraseña estén codificados en Base64. Envía una solicitud XML-RPC para listar todos los usuarios:

curl -H 'Content-Type: text/xml' -d '<methodCall><methodName>wp.getUsers</methodName><params><param><value>1</value></param><param><value>USERNAME</value></param><param><value>PASSWORD</value></param></params></methodCall>' https://LOCALHOST/xmlrpc.php

En el ejemplo anterior, reemplaza USERNAME con tu nombre de usuario, PASSWORD con tu nueva contraseña de aplicación y LOCALHOST con la URL de tu instalación de WordPress. Esto debería generar una respuesta que contenga a todos los usuarios de tu sitio.

Plugin History

Este es un plugin de características que es un derivado del plugin principal Two-Factor Authentication.

Capturas

  • New application passwords has been created.
  • After at least one Application Password for you account exists, you'll see a table displaying them, allowing you to view usage and revoke them as desired.

Instalación

Busca «Application Passwords» en «Plugins → Añadir nuevo» en tu escritorio de WordPress para instalar el plugin.

O instálalo manualmente:

  1. Descarga el archivo ZIP del plugin.
  2. Ve a Plugins Añadir nuevo en tu administración de WordPress.
  3. Haz clic en el botón Subir el plugin.
  4. Select the file you downloaded.
  5. Haz clic en Instalar el plugin.
  6. Activar.

Usando Composer

Añade este plugin como una dependencia de Composer desde Packagist:

composer require georgestephanis/application-passwords

Reseñas

30 de septiembre de 2020
This plugin saved me a bunch of time and concern when trying to lock down a couple of scripts. I was initially concerned that I was going to be in for some hoop-jumping to get it set up. But once I jumped in, I had it working in no time.
6 de septiembre de 2020
I struggled for 3 days to connect my WooCommerce store with Printful. Printful support had zero clue on how to do this. I found the solution in this plugin. It took less than one minute to have the fix. Merci to the dev!
17 de julio de 2020
Was struggling for two days to connect my woocommerece store with Printful, even their support team was clueless, and guess what? I found my solution here with Application Passwords. It took a few seconds to have the issue resolved. No setting, No coding no adding or removing API keys, This Pluging Takes care of all the steps required. Thanks a lot and wishing you all the best.
Leer todas las 30 reseñas

Colaboradores y desarrolladores

«Application Passwords» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

Traduce «Application Passwords» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

Consulta las notas de la versión en GitHub.