Requisitos: Charitable Pro 1.8.16+ Charitable Ambassadors 3.5.0+
Las cuentas de recaudación de fondos sin contraseña funcionan enviando por correo electrónico un enlace de inicio de sesión de un solo uso. Esos enlaces tienen que residir en algún lugar hasta que se utilicen, y esta página explica exactamente dónde, durante cuánto tiempo y cómo eliminarlos.
Si solo estás activando la función, no necesitas leer esto. Está aquí para las personas que quieren saber qué está poniendo un plugin en su base de datos, y para cualquiera que gestione una solicitud de datos o una desinstalación.
La versión corta
- Una tabla de base de datos adicional, creada la primera vez que activas la opción sin contraseña.
- Almacena hashes de los enlaces de inicio de sesión, nunca los enlaces en sí.
- Las filas tienen una vida útil corta: un enlace de registro dura 24 horas, un enlace de inicio de sesión una hora.
- Desactivar la función deja la tabla intacta. Nada se elimina a tus espaldas.
- Desinstalar el plugin también la deja intacta, deliberadamente, para que una desactivación accidental nunca destruya datos.
Cuándo se crea la tabla
La tabla se crea la primera vez que se habilita Cuentas sin contraseña en Charitable > Embajadores > Plantillas > Formulario de envío. No se crea al activar el plugin, y no se crea en sitios que nunca usan la función.
Su nombre sigue el prefijo de tu base de datos:
wp_charitable_ambassadors_signin_tokens
Si tu prefijo no es wp_, sustitúyelo por el tuyo.
Qué hay dentro de la tabla
Una fila por cada enlace de inicio de sesión emitido. Las columnas:
| Columna | Qué contiene |
|---|---|
id |
Identificador de fila |
token_hash |
Un hash HMAC-SHA256 del enlace, con clave en las sales de tu sitio |
propósito |
signup para una cuenta nueva, signin para un recaudador de fondos recurrente |
correo electrónico |
La dirección a la que se envió el enlace |
user_id |
La cuenta, para un recaudador de fondos recurrente. 0 para un registro nuevo, porque aún no existe ninguna cuenta |
id_campaña |
La recaudación de fondos a la que se relaciona el enlace |
creado_en |
Cuándo se emitió |
expires_at |
Cuándo deja de funcionar |
canjeado_en |
Cuando se usó, o vacío si no se ha usado |
El enlace en sí nunca se almacena. Solo se almacena un hash con clave del mismo, por lo que alguien que lea esta tabla no podrá reconstruir un enlace de inicio de sesión funcional a partir de ella. El hash está en clave con las propias sales de su sitio, lo que significa que una copia de la tabla trasladada a un sitio diferente es inerte.
La dirección se almacena en texto plano, porque la función tiene que poder enviar un correo electrónico a la persona y mostrarle quién está esperando.
Cuánto duran las filas
| Tipo de enlace | Vida útil |
|---|---|
| Registro (un recaudador de fondos completamente nuevo) | 24 horas |
| Inicio de sesión (un recaudador de fondos que regresa) | 1 hora |
Los enlaces son de un solo uso. Canjear uno lo marca como usado, y solicitar un nuevo enlace cancela cualquier enlace anterior para la misma dirección, por lo que solo existe un enlace activo por persona a la vez.
Los estados de autocomprobación
La pantalla Enviar formulario informa sobre esta tabla para que no tenga que adivinar. Los estados que puede ver:
| Estado | Significado | Qué hacer |
|---|---|---|
| Habilitado, tabla presente | Normal. | Nada. |
| Habilitado, tabla faltante | Los registros y los inicios de sesión fallan. | Desactive y reactive la función. Eso recrea la tabla. |
| Habilitado, esquema desactualizado | La tabla existe pero es anterior a una actualización. | Un desarrollador puede actualizarla, consulte la referencia a continuación. |
| Habilitado, enlaces pendientes | Un recuento de enlaces enviados pero no hechos clic. | Informativo. Consulte Pendiente de inicio de sesión si parece alto. |
| Habilitado, correo electrónico de inicio de sesión deshabilitado | Los recaudadores de fondos que regresan no pueden solicitar un enlace. | Vuelva a habilitar ese correo electrónico en Benéfico > Configuración > Correos electrónicos. |
| Deshabilitado, la tabla todavía está presente | Tus datos existentes se conservan. | Nada. Esto es una garantía, no un problema. |
Desactivar la función (deshabilitación suave)
Desmarca Cuentas sin contraseña y la función se detiene: no se emiten nuevos enlaces y el formulario de creación de recaudadores de fondos vuelve a pedir una contraseña.
La tabla y sus filas se quedan en su sitio. Cualquiera que ya tenga un enlace válido todavía puede usarlo, y las cuentas ya creadas siguen funcionando exactamente como cuentas normales, porque eso es lo que son. Volver a activar la función reanuda donde lo dejaste.
No se pierde nada al alternar, que es el objetivo: una configuración que destruyera silenciosamente los datos al desmarcarla sería una mala configuración.
Eliminar permanentemente los datos
Se pueden eliminar dos cosas separadas, y se eliminan de diferentes maneras.
Enlaces pendientes. Todos los enlaces no canjeados se pueden invalidar a la vez desde la pantalla de configuración. Cualquiera que esté en medio del proceso necesitará uno nuevo. Esto vacía los enlaces activos sin tocar las cuentas.
La tabla en sí. Desinstalar Charitable Ambassadors no elimina esta tabla, a propósito. Se aplica el mismo precedente que para los tokens de invitación: una desinstalación es a veces un accidente, y un plugin que destruye una tabla al desactivarse no te da forma de volver. Si realmente quieres que desaparezca, un desarrollador puede eliminarla, o tu host puede hacerlo desde phpMyAdmin.
Las cuentas no están en esta tabla. Las cuentas de recaudadores de fondos son usuarios normales de WordPress y residen en tu tabla de usuarios como cualquier otra. Eliminar los datos de los enlaces de inicio de sesión no elimina la cuenta de nadie ni su página de recaudador de fondos.
Exportaciones, copias de seguridad y datos personales
- Las copias de seguridad incluyen esta tabla como cualquier otra. Dado que solo contiene hashes y direcciones, una copia de seguridad no contiene enlaces de inicio de sesión utilizables.
- Una exportación de datos personales de WordPress para un recaudador de fondos devuelve su cuenta y sus campañas de la manera normal. Los enlaces de inicio de sesión son registros operativos de corta duración en lugar de datos de perfil.
- Una eliminación de datos personales elimina la cuenta a través de las propias herramientas de WordPress. Cualquier enlace pendiente para esa dirección deja de funcionar, porque ya no se resuelve a nadie.
Consejos
- Si las inscripciones dejan de funcionar repentinamente en todo el sitio, primero comprueba la advertencia de tabla faltante. Es el único fallo que rompe todo a la vez y tiene una solución de un clic.
- Un recuento pendiente alto al principio de una campaña generalmente significa un problema de entregabilidad, no desinterés.
- No copies esta tabla entre sitios. Está vinculada a las sales del sitio que la creó y no funcionará en otro lugar.
Referencia del desarrollador
Clase de esquema
Charitable_Ambassadors_Passwordless_Schema
| Miembro | Propósito |
|---|---|
nombre_tabla() |
Nombre de tabla con prefijo |
existe() |
Si la tabla está presente |
esta_habilitado() |
Si la función está activada |
SCHEMA_VERSION |
Versión actual del esquema, 1.1 |
SCHEMA_VERSION_OPTION |
charitable_ambassadors_passwordless_schema_version |
Claves de opción
| Opción | Propósito |
|---|---|
charitable_ambassadors_passwordless_schema_version |
La versión del esquema instalado |
charitable_ambassadors_passwordless_rewrite_version |
Registra cuándo se registraron por última vez las reglas de reescritura del endpoint |
Ambos son eliminados por la rutina de desinstalación del plugin. La tabla no.
Clase de tokens
Charitable_Ambassadors_Passwordless_Tokens
| Método | Propósito |
|---|---|
issue( $purpose, $email, $user_id, $campaign_id ) |
Generar un enlace |
lookup( $token ) |
Leer una fila sin consumirla |
redeem( $token ) |
Consumir un enlace, atómicamente |
invalidate_for_email( $email ) |
Cancelar todos los enlaces para una dirección |
invalidate_for_user( $user_id ) |
Cancelar todos los enlaces para una cuenta |
purge_all() |
Cancelar todo lo pendiente |
effective_ttl( $purpose ) |
Vida útil en segundos para ese propósito |
Filtros
| Filtro | Propósito |
|---|---|
charitable_ambassadors_passwordless_storage_docs_url |
La URL en la que se encuentra esta página, tal como se enlaza desde el texto de ayuda de la configuración y los avisos de autocomprobación |
charitable_ambassadors_awaiting_mask_email |
Devuelve false para mostrar direcciones completas en la vista Pendiente de inicio de sesión |





