Código de invitación global opcional

¿La primera sugerencia es solo el seguimiento de invitaciones? Sí, claro. Un nombre de usuario sin token no debería otorgar el nivel TL1, ya que los nombres de usuario son información pública.

image

¿Podría sugerir que estos enlaces tengan la forma de https://meta.discourse.org/signup?u=codinghorror&token=3ojk6WTY para reflejar la primera parte :slight_smile:

:+1: No lo había considerado. Será complicado documentarlo, pero así es como deberían interactuar los ajustes.

8 Me gusta

Sí, no hay desventajas en copiar a Discord aquí. Creo que antes teníamos invitaciones basadas únicamente en URL (sin necesidad de correo electrónico), pero tuvimos que eliminarlas debido a problemas de seguridad. ¿Lo recuerdas, @techapj? :thinking:

8 Me gusta

Sí, la parte de “no se requiere correo electrónico” fue el error de seguridad allí: estas invitaciones aún deberían requerir validación de correo electrónico (o inicio de sesión con redes sociales con validación de correo electrónico), ya que no llegan directamente a los buzones de entrada de las personas.

5 Me gusta

Si el objetivo es facilitar la compartición, ¿qué tal si lo abordamos como un código de referencia? Algo que sea fácil de compartir en una presentación, en texto plano o de boca en boca. Las cadenas de consulta son confusas y frágiles, mientras que domainname.tld/invite/samgdc2020 es memorable y de bajo riesgo, el tipo de cosa que la gente puede anotar y que sobrevivirá al traslado.

Como medida de precaución, me encantaría ver alguna forma de caducidad del código como capa de protección adicional.

7 Me gusta

La duración del tiempo y/o el número de usos serían límites razonables que otros programas han implementado para este tipo de cosas. Además, generalmente es definido por el usuario.

11 Me gusta

Cierto, pero al ver la PR, es un único código para todo el sitio.

1 me gusta

Sí, todavía tenemos esa función, encapsulada en un plugin:

La URL tendrá el siguiente formato: http://discourse.example.com/invite-token/redeem/TOKEN?username=USERNAME&email=EMAIL&name=NAME&topic=TOPICID

La URL mínima necesaria debe ser: http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL

El problema de seguridad era que no verificábamos la existencia del usuario con la dirección de correo electrónico proporcionada, pero ahora sí lo hacemos en el plugin.

11 Me gusta

Supongo que el nombre de usuario podría estar incrustado en el token por defecto y, quizás, sobrescrito añadiendo un usuario explícito.

En cuanto a token, preferiría usar code en su lugar, ya que es más comprensible para personas no técnicas.

No lo creo. Aunque los tokens generados por el plugin no incluyen correos electrónicos, solo pueden usarse añadiendo un correo electrónico, mientras que aquí la idea es eliminar ese requisito, ¿verdad?

Y el problema de seguridad se puede resolver:

Sería increíble tener esto. :slight_smile:

4 Me gusta

¿Estos códigos de invitación caducan alguna vez o son válidos indefinidamente? ¿Quizás deberíamos establecer un límite estricto aquí como configuración del sitio, al menos por ahora?

7 Me gusta

¿No necesitamos todavía una dirección de correo electrónico para que funcione GitHub - discourse/discourse-invite-tokens: Discourse Invite Tokens · GitHub? Puede que haya malinterpretado cómo funciona.

Lo que me gustaría sería un enlace personalizado (sin dirección de correo electrónico) que pudiera proporcionar a las organizaciones para que lo envíen a sus usuarios, el cual les asignaría a un grupo y a un tema inicial al registrarse. La razón de esto es que las organizaciones médicas con las que trato no pueden o no quieren compartir su lista de correos electrónicos, pero sí están dispuestas a enviar un correo electrónico a sus miembros (desde ellos).

5 Me gusta

Creo que tanto tu solicitud aquí como la solicitud de función de @nathank están bastante relacionadas.

En este momento tenemos un código de invitación global, que no tiene fecha de caducidad; para caducar, el administrador simplemente puede poner el código en cero o cambiarlo.

Lo que se pide aquí es un mecanismo más sofisticado para los códigos de invitación que esté integrado en el sistema global de invitaciones.

Las características clave que se solicitan son:

  • Nuevo enlace de invitación

    • Reutilizable N veces
    • (Opcionalmente) agrega automáticamente al usuario a un grupo
    • Caduca después de M días

Esto me parece como una extensión de este diálogo:

¿Quizás una pestaña allí?

[invitación masiva]

  • Eliminar correo electrónico

  • Eliminar el botón “Enviar invitación”

  • Agregar

    ¿Cuántas personas pueden registrarse usando este enlace?

    ¿Cuánto tiempo quieres que funcione este enlace de invitación? Por defecto, 1 mes.

Así, una vez que rellenes esos datos, obtendrás un enlace de invitación que funciona por un tiempo limitado, se integra con el resto del sistema de invitaciones, te permite agregar personas a grupos, etc.

Con esto en marcha, podremos eliminar por completo la función global de “código de invitación”.

17 Me gusta

¡Exacto! Eso cubriría la necesidad de manera perfecta.

También sería genial incluir un tema/publicación de aterrizaje, como en el caso de las invitaciones masivas mediante CSV. Así se mantiene la coherencia en todo.

7 Me gusta

Si es relevante para los acontecimientos globales actuales, apoyo priorizar este trabajo, pero la decisión es tuya, @sam.

10 Me gusta

No, los tokens de invitación no requieren una dirección de correo electrónico. Consulta Generating lots of Invite Tokens para entender cómo funciona.

8 Me gusta

Lo he leído, pero sigo confundido.

Esto parece implicar muy claramente que necesitas el correo electrónico del usuario. ¿O es que solo estoy siendo lento?

4 Me gusta

Mi comprensión sobre los tokens de invitación masiva es que se obtiene un token por cada invitación. Esto está muy lejos de lo que estás buscando aquí.

Lo discutiré con @techAPJ. Siento que la incorporación eficiente de personas a un nuevo foro es muy relevante e importante en la actualidad. Vamos a priorizar la mejora de este proceso.

9 Me gusta

El correo electrónico es necesario en el momento de aceptar la invitación, pero no al generar el token de invitación.

Puedes compartir esta URL con el usuario final y pedirle que reemplace EMAIL con su dirección de correo electrónico: http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL.

Espero que esto aclare la confusión.

7 Me gusta

Me gusta mucho tu solución propuesta en post 31 para esto, @sam, ampliando la funcionalidad de los códigos de invitación.

5 Me gusta

Estoy de acuerdo, eso es exactamente lo que me gustaría ver implementado.

De modo que cualquier persona que tenga el permiso de invitar usuarios pueda generar un enlace de invitación genérico que permita al usuario unirse y ser añadido a la lista de usuarios invitados del que invitó.

Invitar a grupos y establecer límites de tiempo o de miembros sería agradable, pero no es una prioridad para mí.

3 Me gusta

Recibo un mensaje que dice “¡Vaya! Esa página no existe o es privada” cuando intento acceder.

amazing.forum.com/signup abre el modal de registro, pero amazing.forum.com/signup?code=fantastic no parece pasar el valor al modal (también probé con invite_code=fantastic).

Y, cuando esto funcione, sería genial añadirlo a la publicación original.

2 Me gusta