Ya existe código para crear usuarios “staged” si permites que se creen temas por correo electrónico. Estos tienen un nombre de usuario aleatorio y cada uno está asociado a una dirección de correo electrónico. Puedes “reclamar” la cuenta iniciando sesión y validando esa dirección de correo electrónico.
Ver
¿Quizás construir sobre esto podría ayudar?