Loading...
Store passwords securely
Hash and salt passwords using bcrypt
Describe why it's important to hash and salt passwords
Authenticate users by setting and reading cookies
Store session IDs in a cookie
Describe why we need session IDs
Ensure only authenticated users can see certain content
Ensure only authenticated users can take certain actions
Describe the difference between a stateful and stateless server
Create our own promises
Wrap a function that takes a callback in a promise
Design a usable sign in form
Create a sign in form with semantic accessible HTML
Help users enter the right information with HTML5 validation
Configure ESLint to catch common JS errors
Describe how a linter helps us write code
Use the Application tab in Chrome dev tools to view cookies
Set up a continuous integration server
Run tests and linter in CI to prevent broken code reaching the main branch
Integrate security scanning or checks into the CI/CD pipeline
Restrict access to the deployment process