Descripción
⚠️ IMPORTANTE: Este plugin ha sido incluido en el núcleo de la versión 5.6 de WordPress y no tiene que ser instalado por separado. Ver la guía de integració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.
Contribuye
- Translate the plugin into your language.
- Report issues, suggest features and contribute code on GitHub.
Creando manualmente la contraseña de la aplicación
- 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.
- Scroll down until you see the Application Passwords section. This is typically at the bottom of the page.
- 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. - 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
andpassword
— these credentials can then be used for API calls. If thesuccess_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 asuccess_url
con?success=false
añadido al final. Si se omitesuccess_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.
Historial del plugin
Este es un plugin de características que es un derivado del plugin principal Two-Factor Authentication.
Capturas
Instalación
Busca «Application Passwords» en «Plugins
Añadir nuevo» en tu escritorio de WordPress para instalar el plugin.O instálalo manualmente:
- Descarga el archivo ZIP del plugin.
- Ve a Plugins Añadir nuevo en tu administración de WordPress.
- Haz clic en el botón Subir el plugin.
- Select the file you downloaded.
- Haz clic en Instalar el plugin.
- Activar.
Usando Composer
Añade este plugin como una dependencia de Composer desde Packagist:
composer require georgestephanis/application-passwords
Reseñas
Colaboradores y desarrolladores
«Application Passwords» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «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.