Meteor Userauth

screenshot of Meteor Userauth

User authentication example for Meteor JS

Overview

The User Authentication Example Project for Meteor is an excellent showcase of how to implement authentication and basic authorization within applications built on the Meteor framework. It addresses key issues around security and user management, allowing for a robust foundation for developers looking to enhance their applications with secure user login systems. The project reflects significant updates to its structure, ensuring that both the client and server sides communicate effectively, optimizing for latency compensation.

This project not only provides a practical demonstration of user sessions but also allows users to remain logged in across multiple browsers. The latest version emphasizes secure practices, though it acknowledges the need for improved security measures and welcomes input from experts in the field.

Features

  • Dual-Sided Methods: Uses Meteor.methods for both client and server, enhancing the communication structure and improving latency compensation.
  • User Sessions Collection: Implements a separate server-only collection to manage user sessions, enabling multi-browser logins and secure session handling.
  • Session Expiry: Each user session includes an expires property, defaulting to one week, providing automatic logouts for inactive sessions.
  • Security Considerations: The implementation includes a basic framework for user security, utilizing bcrypt for password hashing and token signing practices.
  • Plaintext Login Handling: Although login details are sent in plaintext, it emphasizes the importance of using HTTPS for secure data transmission.
  • Token-Based Identification: After successful login, a signed token is generated, which the client can use for subsequent requests, ensuring a seamless user experience.
  • Room for Improvement: The project invites suggestions for enhancing security, reflecting an open approach to community-driven development best practices.
  • Meteor Compatibility: Requires Meteor version 0.3.6 or higher, ensuring users are working with the latest framework features.