Develop an OpenID server with Node.js & Typescript

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • openid-connect-app

    Sample project for implementing OIDC server with a web application and an API service.

    Source code for this tutorial is hosted on metalicn20/openid-connect-app

  • node-oidc-provider

    OpenID Certified™ OAuth 2.0 Authorization Server implementation for Node.js

    We are going to use panava/node-oidc-provider library through out the series. It handles many of the complex and sensitive parts of the authorization server for us and still gives us the ability to customize it based on our needs.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • Koa

    Expressive middleware for node.js using ES2017 async functions

    panava/node-oidc-provider uses koa under the hood. This convinced me to use koa instead of Express.js despite its popularity. By the way koa is more async/await compatible than Express.js which can help aid us along the way.

  • dotenv

    Loads environment variables from .env for nodejs projects.

    We use motdotla/dotenv library to inject variables in oidc/.env wich you can find here. For app and api also you must provide .env file. These are also include in tutorial repository.

  • EJS

    Embedded JavaScript templates -- http://ejs.co

    We need a frontend client to interact with authorization server. For this purpose we are going to use koa and EJS in combination. EJS is a template engine. It gives us the ability to write HTML files with more flexibility.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts