SE 4200: Web Application Development II
Assignment: Sessions
Requirements
Within a new or existing Express application, implement user registration, user authentication, and basic user authorization.
For registration, create a simple user model using Mongoose, and use the bcrypt library for Node.js to hash user passwords.
For authentication, use the express-session middleware to enable session-based authentication.
For authorization, write a custom middleware function that implements basic logic for your own authorization rules. For example, you might simply restrict access to all data unless the user is authenticated, or you might establish record ownership for a resource and restrict access to only those records that are owned by the authenticated user.
Within a new or existing Vue.js application, implement user interfaces and user flows for all of the above, including registration, authentication, and authorization.
Implement the requests necessary to communicate with your web service for registration, authentication, and retrieving authorized resource data.
Implement forms which allow the user to register and authenticate, as well as UI elements to display them as appropriate.
Display appropriate messaging for error conditions, including user validation errors and authentication failures.
Implement the logic necessary to reveal and hide UI elements as part of the authentication and authorization user flows.
Deploy your finished application, including both the Node.js server application and the Vue.js client application.
Resources
Submission
- Submit your project using Git and GitHub. Start by creating a repo for this assignment here.
- Show your completed assignment to the instructor during class or office hours to receive credit.
Last Updated 03/18/2024