Autenticação usando lógica de terceiros (personalizada)

Estou tentando criar um plugin que permita fazer login no Discourse com uma lógica “personalizada”.
Sem nome de usuário e senha, talvez um número PIN ou um token de uso único que você gera.
Estou disposto a escrever a lógica etc., mas sou novo no desenvolvimento do Discourse e estou tentando entender se isso é possível.

Analisei todos ou a maioria dos plugins de autenticação disponíveis e a maioria deles usa apenas algum Gem pronto e 10 a 20 linhas de código para fazer funcionar.
O que é ótimo, no entanto, no meu caso, preciso de uma lógica completamente personalizada.

Estou apenas me perguntando se existe algo por aí que eu possa usar como exemplo, como autenticação por nome de usuário/senha ou algo do tipo.
Ou se alguém pode me apontar na direção certa.

O objetivo era aproveitar a mesma funcionalidade que você obtém ao adicionar outras contas (Google, Facebook etc.).
Basta adicionar outra conta “relacionada” contra a qual você possa autenticar. Uma relação 1 para 1 entre o usuário do Discourse e meu “Token” (se isso ajudar).

Isso é um exercício de aprendizado; tenho uma comunidade Discourse muito ativa e adoraria poder contribuir.

Obrigado!

Talvez você possa usar um serviço que forneça o tipo de autenticação que você procura, mas que se comunique com o Discourse por meio de um protocolo padrão? (Como OpenID Connect?)

Esse método alternativo pretende estar relacionado a contas de usuário existentes, ou é uma forma de login autorizado anônimo? Se estiver vinculado a uma conta existente, talvez seja interessante usar um serviço de identidade externo, como o Keycloak? Pelo que sei, ele suporta OTP (Senha de Uso Único) e uma variedade de outros métodos. No entanto, pode não ser mais fácil.