Código de convite global opcional

A primeira sugestão é apenas rastreamento de convites? Sim, claro. Nome de usuário sem token não deve conceder TL1, pois nomes de usuário são informações públicas.

image

Posso sugerir que esses links tenham o formato https://meta.discourse.org/signup?u=codinghorror&token=3ojk6WTY para espelhar a primeira parte :slight_smile:

:+1: não tinha pensado nisso. Vai ser complicado documentar, mas é assim que as configurações devem interagir.

8 curtidas

Sim, não há desvantagem em copiar o Discord aqui. Acredito que no passado tínhamos convites baseados apenas em URL (sem necessidade de e-mail), mas tivemos que removê-los devido a problemas de segurança. Você se lembra, @techapj? :thinking:

8 curtidas

Sim, a parte de ‘sem necessidade de e-mail’ foi o erro de segurança ali — esses convites ainda deveriam exigir validação de e-mail (ou login social com validação de e-mail), porque eles não estão chegando diretamente nas caixas de entrada dos usuários.

5 curtidas

Se o objetivo é tornar isso o mais fácil possível de compartilhar, que tal abordar isso como um código de indicação? Algo que seja facilmente compartilhado em um deck de apresentação, em texto simples ou por meio de indicações verbais. Parâmetros de consulta são confusos e frágeis, enquanto domainname.tld/invite/samgdc2020 é memorável e de baixo risco, o tipo de coisa que as pessoas podem rabiscar e que sobrevive ao trânsito.

Como medida de precaução, eu adoraria ver alguma forma de expiração de código como uma camada de proteção também.

7 curtidas

O período de tempo e/ou o número de usos seriam limites razoáveis, implementados por outros softwares para esse tipo de situação. E geralmente é definido pelo usuário.

11 curtidas

De fato, mas olhando o PR, é um único código para todo o site.

1 curtida

Sim, ainda temos esse recurso, encapsulado em um plugin:

A URL terá o seguinte formato: http://discourse.example.com/invite-token/redeem/TOKEN?username=USERNAME&email=EMAIL&name=NAME&topic=TOPICID

A URL mínima necessária é: http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL

O problema de segurança era que não verificávamos a existência do usuário com o endereço de e-mail fornecido, mas agora fazemos isso no plugin.

11 curtidas

Acho que o nome de usuário poderia ser embutido no token por padrão e talvez sobrescrito ao adicionar um usuário explícito.

No que diz respeito ao token, eu preferiria usar code em vez disso, pois é mais compreensível para pessoas não técnicas.

Acho que não. Embora os tokens gerados pelo plugin não incluam e-mails, eles só podem ser usados ao adicionar um e-mail, enquanto aqui a ideia é remover essa exigência, certo?

E o problema de segurança pode ser resolvido:

Seria incrível ter isso. :slight_smile:

4 curtidas

Esses códigos de convite expiram algum dia ou são válidos indefinidamente para sempre? Talvez seja bom estabelecer um limite rígido aqui como uma configuração do site, pelo menos por enquanto?

7 curtidas

Mas não precisamos ainda de um endereço de e-mail para que GitHub - discourse/discourse-invite-tokens: Discourse Invite Tokens · GitHub funcione? Pode ser que eu tenha entendido mal como ele funciona.

O que eu gostaria seria um link personalizado (sem endereço de e-mail) que eu pudesse pedir às organizações para enviar aos seus usuários, o que os adicionaria automaticamente a um grupo e a um tópico inicial ao se cadastrar. A razão para isso é que as organizações médicas com as quais trabalho não podem/não querem compartilhar sua lista de e-mails, mas estão dispostas a enviar um e-mail aos seus membros (a partir delas).

5 curtidas

Acho que tanto sua solicitação aqui quanto a solicitação de recurso de @nathank estão bastante relacionadas.

No momento, temos 1 código de convite global, que não tem data de expiração; para expirá-lo, o administrador pode simplesmente zerar o código ou alterá-lo.

O que está sendo solicitado aqui é um mecanismo mais sofisticado para códigos de convite, integrado ao sistema global de convites.

As principais funcionalidades que estão sendo solicitadas são:

  • Novo link de convite

    • reutilizável N vezes

    • (opcionalmente) adiciona automaticamente o usuário a um grupo

    • expira após M dias

Isso, para mim, parece uma extensão deste diálogo:

Talvez uma aba ali?

[convite em massa]

  • Remover e-mail

  • Remover botão “enviar convite”

  • Adicionar

    Quantas pessoas podem se registrar usando este link?

    Por quanto tempo você deseja que este link de convite funcione? Padrão: 1 mês.

Assim, ao preencher essas informações, você receberá um link de convite válido por um período limitado, integrado ao restante do sistema de convites, permitindo adicionar pessoas a grupos e assim por diante.

Com isso implementado, poderemos realmente remover toda a funcionalidade global de “código de convite”.

17 curtidas

Perfeito — isso atenderia perfeitamente à necessidade.

Também seria ótimo incluir um tópico ou post de destino, como no caso dos convites em massa via CSV. Isso mantém tudo consistente.

7 curtidas

Se for relevante para os eventos globais atuais, apoio priorizar este trabalho, mas a decisão é sua, @sam.

10 curtidas

Não, o invite-tokens não precisa de endereço de e-mail. Veja Generating lots of Invite Tokens para entender como funciona.

8 curtidas

Já li isso, mas continuo confuso.

Isso parece implicar fortemente que você precisa do e-mail do usuário. Ou estou apenas sendo teimoso?

4 curtidas

Minha compreensão sobre os tokens de convite em massa é que você recebe um token por convite. Isso está muito longe do que você está desejando aqui.

Vou discutir isso com @techAPJ. Sinto que integrar pessoas de forma eficiente a um novo fórum é muito relevante e importante no momento atual. Vamos priorizar a melhoria dessa funcionalidade.

9 curtidas

O e-mail é necessário no momento de aceitar o convite, mas não no momento da geração do token de convite.

Você pode fornecer essa URL ao usuário final e pedir que ele substitua EMAIL pelo endereço de e-mail dele: http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL.

Espero que isso esclareça a confusão.

7 curtidas

Muito gostando da sua solução proposta no post 31 para isso, @sam, estendendo a funcionalidade dos códigos de convite.

5 curtidas

Concordo, isso é exatamente o que eu gostaria de ver implementado.

Assim, qualquer pessoa que tenha a permissão de convidar usuários poderá gerar um link de convite genérico que permitirá que o usuário entre e seja adicionado à lista de usuários convidados do indicante.

Convidar para grupos e com limites de tempo/membros seria legal, mas não é uma prioridade para mim.

3 curtidas

Estou recebendo um erro “Ops! Essa página não existe ou é privada” ao tentar isso.

amazing.forum.com/signup abre o modal de cadastro, mas amazing.forum.com/signup?code=fantastic parece não passar o valor para o modal (também tentei invite_code=fantastic).

E, quando isso funcionar, seria bom adicionar ao OP.

2 curtidas