Como posso impor a complexidade da senha do usuário?

Práticas recomendadas/melhores práticas do setor (como as defendidas pelo NIST) não recomendam mais a exigência de “LUDS” (Letra minúscula + Letra maiúscula + Dígito + Símbolo) ou quaisquer outros requisitos de classe de caracteres. Elas mudaram estritamente para restrições de comprimento mínimo como uma prática recomendada. Veja, por exemplo, esta postagem de blog do NIST de cinco anos atrás:

Ela resume as mudanças nas orientações e, até onde sei, o Discourse implementou as práticas recomendadas.