authentication - usuario - ingresar a ubuntu sin contraseña
Crear usuario sin contraseña en Meteor (2)
- Registre
onCreateUser
para agregar un campo "anónimo" ({anonymous:1}
) cuando se use una contraseña aleatoria, tal vez generada conMeteor.uuid()
. - Agregue un campo de marca de tiempo (
{created:new Date()}
) para limpiar cuentas antiguas anónimas. - Realice el mantenimiento anónimo antiguo del usuario, como eliminar usuarios anónimos de más de una hora de antigüedad:
Meteor.autorun(function() {Meteor.users.find({anonymous:1,$where:"new Date() - this.created > 360000"}).forEach(function (user) {
Meteor.users.remove({_id:user._id})}});Meteor.autorun(function() {Meteor.users.find({anonymous:1,$where:"new Date() - this.created > 360000"}).forEach(function (user) {
Meteor.users.remove({_id:user._id})}}); - En el cliente:
- Siempre solicite un "apodo". Este se convertirá en el nombre de usuario oficial, o se sentará en el sistema utilizado para siempre.
- Compruebe si el cliente está conectado. De lo contrario, cree un usuario con un apodo y una contraseña de "número mágico", que lo registra. Cuando hacen clic en registrar, escribe "Registrarse" en la parte superior, pero en realidad solo cambian su contraseña y
$set:{anonymous:0}
No use localStorage, y no use UID. La cookie de sesión ES su UID.
Tengo un flujo de creación de usuario único que es el siguiente:
- El usuario llega a mi sitio por primera vez y hace clic en un botón.
- Creo un usuario en la base de datos para ellos y establezco una clave localStorage con el UID.
- El uso se trata de crear datos y guardo los datos en el DB y los asocié con el UID.
- El usuario vuelve, y si tienen un UID establecido en localStorage, les muestro los datos que crearon previamente.
- El usuario puede hacer clic en Registrarse para crear una cuenta "real", desde ese momento tendrá que iniciar sesión con nombre de usuario y contraseña u otro servicio (por ejemplo, Facebook).
Entonces, ¿cómo lo lograría con Meteor Accounts y el modelo User?
En una palabra:
- Necesito crear un documento de mongo de usuario sin información (sobre el usuario).
- Necesito autenticar a un usuario simplemente con un UID (que actúa como una "contraseña").
No sé cómo ayudar con la autenticación, pero en cuanto a la creación de un objeto Usuario en blanco, he hecho con éxito lo siguiente en el lado del servidor (con un nombre diferente ...):
Meteor.users.insert({profile: {name: ''Oompa Loompa''}, foo: ''bar''});