Ayuda a los usuarios a cambiar las contraseñas fácilmente agregando una URL conocida para el cambio de contraseñas.

Redireccionar una solicitud a /.well-known/change-password a la URL de cambio de contraseñas

Establecer un redireccionamiento de /.well-known/change-password a la página de cambio de contraseña de tu sitio web. Esto permitirá que los administradores de contraseñas naveguen por tus usuarios. directamente a esa página.

Introducción

Como ya debes saber, las contraseñas no son la mejor manera de administrar . Afortunadamente, hay tecnologías emergentes como WebAuthn y técnicas como las contraseñas de un solo uso que nos ayudan a acercarnos a un mundo sin contraseñas. Sin embargo, estos las tecnologías aún se están desarrollando y las cosas no cambiarán rápidamente. Muchos los desarrolladores tendrán que lidiar con contraseñas para al menos los próximos años. Mientras esperamos que las tecnologías y técnicas emergentes común, al menos podemos hacer que las contraseñas sean más fáciles de usar.

Una buena forma de hacerlo es proporcionar una mejor asistencia para los administradores de contraseñas.

Cómo ayudan los administradores de contraseñas

Los administradores de contraseñas pueden estar integrados en los navegadores o proporcionarse como apps de terceros. Pueden ayudar a los usuarios de varias maneras:

Autocompletar la contraseña para el campo de entrada correcto: Algunos navegadores pueden encontrar la entrada correcta de forma heurística, incluso si el sitio web no está optimizado para esto que no tiene ningún propósito específico. Los desarrolladores web pueden ayudar a los administradores de contraseñas anotando correctamente el código HTML etiquetas de entrada.

Impedir la suplantación de identidad (phishing): Los administradores de contraseñas recuerdan dónde están las contraseñas. se registra, la contraseña se puede autocompletar solo en las URLs correspondientes, no en sitios web de phishing.

Generar contraseñas seguras y únicas: Porque las contraseñas únicas y seguras el administrador de contraseñas genera y almacena directamente, recordar un solo carácter de la contraseña.

Generar y autocompletar contraseñas con un administrador de contraseñas ya sirvió bien a la Web, pero teniendo en cuenta su ciclo de vida, actualizar las contraseñas cuando sea necesario es tan importante como generarlo y autocompletarlo. Para aprovechar correctamente eso, los administradores de contraseñas están agregando una nueva función:

Detectar contraseñas vulnerables y sugerirlas: Los administradores de contraseñas pueden detectar contraseñas que se reutilizan, analizar su entropía y debilidad, y incluso detectar contraseñas que se filtren o que se sabe que no son seguras. de fuentes como [Has I Been Pwned].

Un administrador de contraseñas puede advertir a los usuarios sobre contraseñas problemáticas de fricción al solicitar a los usuarios que naveguen desde la página de inicio hasta un cambio de contraseña. además de realizar el proceso real de cambio de contraseña (que varía de un sitio a otro). Sería mucho más fácil si los administradores de contraseñas lleva al usuario directamente a la URL de cambio de contraseña. Aquí es donde un URL conocida para cambiar contraseñas se vuelve útil.

Reservando una ruta de URL conocida que redireccione al usuario al cambio contraseña, el sitio web puede redireccionar fácilmente a los usuarios al lugar correcto cambiar sus contraseñas.

Configura "una URL conocida para cambiar contraseñas".

.well-known/change-password se propone como una URL conocida para cambiar contraseñas. Todo lo que tienes que hacer es para configurar tu servidor de modo que redireccione las solicitudes de .well-known/change-password a la URL de cambio de contraseña de tu sitio web.

Por ejemplo, supongamos que su sitio web es https://example.com y el cambio La URL de la contraseña es https://example.com/settings/password. Solo tienes que establecer tu servidor redireccione una solicitud de https://example.com/.well-known/change-password a https://example.com/settings/password Eso es todo. Para el redireccionamiento, usa el código de estado HTTP 302 Found, 303 See Other o 307 Temporary Redirect.

También puedes publicar HTML en la URL de .well-known/change-password con una etiqueta <meta> con una http-equiv="refresh"

<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">

Revisa el código HTML de la página de cambio de contraseña

El objetivo de esta función es ayudar a que el ciclo de vida de las contraseñas del usuario sea más fluido. Tienes dos opciones para permitir que el usuario actualice su contraseña sin fricción:

  • Si el formulario de cambio de contraseña necesita la contraseña actual, agrega autocomplete="current-password" a la etiqueta <input> para ayudar con la contraseña autocompletarla.
  • En el campo de contraseña nueva (en muchos casos, son dos campos para garantizar que el usuario ingresó la nueva contraseña correctamente), agrega autocomplete="new-password" a la etiqueta <input> para ayudar con la contraseña administrador sugiera una contraseña generada.

Más información en Mejor formulario de acceso prácticas recomendadas.

Cómo se usan en el mundo real

Ejemplos

Gracias a la base de datos implementación, /.well-known/change-password, ya está disponible en algunas de las principales sitios web por un tiempo:

Pruébalos y haz lo mismo por el tuyo.

Compatibilidad del navegador

Una URL conocida para cambiar contraseñas ha sido admitida en Safari desde 2019. El administrador de contraseñas de Chrome comienza a admitirlo a partir de la versión 86 (cuyo lanzamiento está programado para el lanzamiento estable a fines de octubre de 2020) y otros navegadores basados en Chromium. Firefox considera que es importante implementación, pero no indicó que planea hacerlo a partir de agosto de 2020.

Comportamiento del administrador de contraseñas de Chrome

Veamos cómo el Administrador de contraseñas de Chrome trata las contraseñas vulnerables.

El administrador de contraseñas de Chrome puede revisar si hay contraseñas filtradas. Navegando a about://settings/passwords usuarios pueden ejecutar Verificar contraseñas en función de las contraseñas almacenadas contraseñas y verás una lista de contraseñas que se recomienda actualizar.

Función Verificar contraseñas de Chrome
.

Si haces clic en el botón Cambiar contraseña junto a la contraseña que se recomienda una actualización, el navegador hará lo siguiente:

  • Abrir la página para cambiar la contraseña del sitio web si /.well-known/change-password es estén configurados correctamente.
  • Abre la página principal del sitio web si /.well-known/change-password no está configurado. y Google no conoce el resguardo.
¿Qué sucede si el servidor muestra 200 OK aunque /.well-known/change-password no exista?

Los administradores de contraseñas intentan determinar si un sitio web admite una URL conocida por cambiando las contraseñas enviando una solicitud a /.well-known/change-password antes del reenviar al usuario a esta URL. Si la solicitud muestra 404 Not Found es obvio que la URL no está disponible, pero una respuesta 200 OK no significa necesariamente que la URL está disponible, debido a que existen algunos casos extremos:

  • Un sitio web de renderización del servidor muestra el mensaje "No se encontró" cuando no hay contenido pero con 200 OK.
  • Un sitio web de renderización del servidor responde con 200 OK cuando no hay ninguna. el contenido después de redireccionarlo a la página "No encontrado" .
  • Una app de una sola página responde con la shell con 200 OK y renderiza el mensaje "Not" encontrado" del cliente cuando no hay contenido.

En estos casos extremos, se redireccionará a los usuarios a un sitio con el estado "No encontrado" en la página ser una fuente de confusión.

Por eso, se propone una norma mecanismo de control para determinar si el servidor está configurado para responder con 404 Not Found cuando realmente no hay contenido, mediante la solicitud de una página aleatoria. En realidad, La URL también está reservada: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200 Por ejemplo, Chrome usa esta ruta de URL para determinar si puede esperar una URL de cambio de contraseña adecuada de /.well-known/change-password con anticipación.

Cuando implementes /.well-known/change-password, asegúrate de que tu El servidor muestra 404 Not Found para cualquier contenido no existente.

Comentarios

Si tienes comentarios sobre la especificación, infórmalo a la especificación Cloud Storage.

Recursos

Foto de Matthew Brodeur en Unsplash