Skills Expanded

Implementing OAuth with Node.js

What you'll learn

In this project, you'll be using Node.js to build a complete OAuth solution. From the client application, to the OAuth server itself, you’ll build everything you need to allow external clients to

  • authorize themselves to the system and
  • securely access resources using your authorization server

Table of contents

  • Set up your local environment for this project. We'll walk you through everything you need to know, including how to install and configure your environment to be able to complete all of the tasks.
Building the Authorization Server
  • This module will have you build the routes for the authorization server. We will create server routes to authorize the user, approve a given client, and issue the authorization token to a client.
Building the Protected Resource
  • We will build a server route on the protected resource that allows authorized clients to access selected information about the user based on the provided scope present in the authorization token.
Building the Client Application
  • In this module, we will build the client application, that is responsible for communicating with the authorization server and protected resource. The client application is responsible for having the user authorizing the application and granting access to their information.

Course FAQ

What is OAuth used for?

OAuth is a security standard that expands on the traditional direct authentication (username/password) model. OAuth opens the door for users to access apps and apps to access data without the direct use of a password.

Who is this project for?

This project is great for Node.js developers who need to learn the fundamentals of how OAuth works so the principles can be applied in broader applications.

What will I learn in this project?

In this beginner-level project, you will go through the process of building routes for the authorization server, building the protected resource that only authorized users can access, and building the client application through which users can authorize.

What prerequisites do I need?

This project is ideal for Node.js beginners.

About the author

Soham is a full stack developer with experience in building large scale web applications and services for clients across the globe. He is a book author, and writes on his blog regularly on various topics related to web development. Soham has extensive experience with React, D3, Node.js and Go stacks.

Ready to upskill? Get started