All Projects → auth0 → Express Openid Connect

auth0 / Express Openid Connect

Licence: mit
An Express.js middleware to protect OpenID Connect web applications.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Express Openid Connect

Myoidc
基于OIDC协议的参考实现,根据各类库提供实现参考
Stars: ✭ 132 (+9.09%)
Mutual labels:  openid-connect, openid
oidc-agent
oidc-agent for managing OpenID Connect tokens on the command line
Stars: ✭ 47 (-61.16%)
Mutual labels:  openid, openid-connect
External Auth Server
easy auth for reverse proxies
Stars: ✭ 189 (+56.2%)
Mutual labels:  openid-connect, openid
React Oidc Client Js
OpenID Connect (OIDC) client with React and typescript
Stars: ✭ 122 (+0.83%)
Mutual labels:  openid-connect, openid
Passport
Simple, unobtrusive authentication for Node.js.
Stars: ✭ 19,608 (+16104.96%)
Mutual labels:  openid, openid-connect
Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+9721.49%)
Mutual labels:  openid-connect, openid
steam-openid-connect-provider
Steam OpenID Connect Identity Provider (IdP)
Stars: ✭ 40 (-66.94%)
Mutual labels:  openid, openid-connect
Node Oidc Provider
OpenID Certified™ OAuth 2.0 Authorization Server implementation for Node.js
Stars: ✭ 2,018 (+1567.77%)
Mutual labels:  openid-connect, openid
Openid Connect Php
Minimalist OpenID Connect client
Stars: ✭ 336 (+177.69%)
Mutual labels:  openid-connect, openid
Openid connect
OpenID Connect Server & Client Library
Stars: ✭ 331 (+173.55%)
Mutual labels:  openid-connect, openid
sotsera.blazor.oidc
OpenID Connect client for Blazor client-side projects
Stars: ✭ 21 (-82.64%)
Mutual labels:  openid, openid-connect
Node Openid Client
OpenID Certified™ Relying Party (OpenID Connect/OAuth 2.0 Client) implementation for Node.js.
Stars: ✭ 887 (+633.06%)
Mutual labels:  openid-connect, openid
Django Oidc Provider
OpenID Connect and OAuth2 provider implementation for Djangonauts.
Stars: ✭ 320 (+164.46%)
Mutual labels:  openid-connect, openid
Jpproject.identityserver4.adminui
🔧 ASP.NET Core 3 & Angular 8 Administration Panel for 💞IdentityServer4 and ASP.NET Core Identity
Stars: ✭ 717 (+492.56%)
Mutual labels:  openid-connect, openid
Oauth2 Server
OAuth2 Server Library
Stars: ✭ 42 (-65.29%)
Mutual labels:  openid-connect, openid
Login Cidadao
Projeto Login Cidadão
Stars: ✭ 61 (-49.59%)
Mutual labels:  openid-connect
Zitadel
ZITADEL - Cloud Native Identity and Access Management
Stars: ✭ 105 (-13.22%)
Mutual labels:  openid-connect
Salte Auth
💻🗝 Authentication for the modern web!
Stars: ✭ 61 (-49.59%)
Mutual labels:  openid
Appauth Ios
iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers.
Stars: ✭ 1,069 (+783.47%)
Mutual labels:  openid-connect
Spring Webmvc Pac4j
Security library for Spring Web MVC: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 110 (-9.09%)
Mutual labels:  openid-connect

Express OpenID Connect

Express JS middleware implementing sign on for Express web apps using OpenID Connect.

CircleCI codecov NPM version FOSSA Status

Table of Contents

Documentation

Install

Node.js version >=12.0.0 is recommended, but ^10.19.0 lts/dubnium is also supported.

npm install express-openid-connect

Getting Started

Follow our Secure Local Development guide to ensure that applications using this library are running over secure channels (HTTPS URLs). Applications using this library without HTTPS may experience "invalid state" errors.

The library needs issuerBaseURL, baseURL, clientID and secret to request and accept authentication. These can be configured with environmental variables:

ISSUER_BASE_URL=https://YOUR_DOMAIN
CLIENT_ID=YOUR_CLIENT_ID
BASE_URL=https://YOUR_APPLICATION_ROOT_URL
SECRET=LONG_RANDOM_VALUE

... or in the library initialization:

// index.js

const { auth } = require('express-openid-connect');
app.use(
  auth({
    issuerBaseURL: 'https://YOUR_DOMAIN',
    baseURL: 'https://YOUR_APPLICATION_ROOT_URL',
    clientID: 'YOUR_CLIENT_ID',
    secret: 'LONG_RANDOM_STRING',
    idpLogout: true,
  })
);

With this basic configuration, your application will require authentication for all routes and store the user identity in an encrypted and signed cookie.

See the examples for route-specific authentication, custom application session handling, requesting and using access tokens for external APIs, and more.

See the API documentation for additional configuration possibilities and provided methods.

A note on error handling

Errors raised by this library are handled by the default Express error handler which, in the interests of security, does not include the stack trace in the production environment.

But you may want to go one step further and hide additional error details from client, like the error message. To do this see the Express documentation on writing Custom error handlers

Contributing

We appreciate feedback and contribution to this repo! Before you get started, please see the following:

Contributions can be made to this library through PRs to fix issues, improve documentation or add features. Please fork this repo, create a well-named branch, and submit a PR with a complete template filled out.

Code changes in PRs should be accompanied by tests covering the changed or added functionality. Tests can be run for this library with:

npm install
npm test

When you're ready to push your changes, please run the lint command first:

npm run lint

Support + Feedback

Please use the Issues queue in this repo for questions and feedback.

Vulnerability Reporting

Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.

What is Auth0?

Auth0 helps you to easily:

  • implement authentication with multiple identity providers, including social (e.g., Google, Facebook, Microsoft, LinkedIn, GitHub, Twitter, etc), or enterprise (e.g., Windows Azure AD, Google Apps, Active Directory, ADFS, SAML, etc.)
  • log in users with username/password databases, passwordless, or multi-factor authentication
  • link multiple user accounts together
  • generate signed JSON Web Tokens to authorize your API calls and flow the user identity securely
  • access demographics and analytics detailing how, when, and where users are logging in
  • enrich user profiles from other data sources using customizable JavaScript rules

Why Auth0?

License

This project is licensed under the MIT license. See the LICENSE file for more info.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].