# jaredhanson/passport

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jaredhanson-passport).**

23,534 stars · 1,249 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/jaredhanson/passport
- Homepage: https://www.passportjs.org?utm_source=github&utm_medium=referral&utm_campaign=passport&utm_content=about
- awesome-repositories: https://awesome-repositories.com/repository/jaredhanson-passport.md

## Topics

`express` `nodejs` `oauth` `oauth2` `openid` `openid-connect` `passport` `saml`

## Description

Passport is a Node.js authentication middleware designed to manage user identities and session states within web applications. It functions as a request identity verifier that secures application routes by validating user credentials before granting access.

The system utilizes a modular authentication strategy, allowing identity verification through interchangeable plugins. This architecture supports the creation of custom authentication strategies for local credentials and the integration of federated identity providers using external protocols.

The framework provides capabilities for session-based identity management to maintain authenticated states across multiple HTTP requests. It further enables the implementation of role-based access management to restrict specific application features or data based on assigned user permissions.

## Tags

### Security & Cryptography

- [Identity and Access Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management.md) — Provides a comprehensive system for verifying user identities, managing credentials, and enforcing authorization policies via middleware.
- [Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies.md) — Provides a modular framework for implementing diverse authentication strategies including local, social, and token-based verification.
- [Stateful Session Persistence](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/stateful-session-persistence.md) — Maintains user identity across multiple requests using a persistent stateful session store.
- [Identity Authentication](https://awesome-repositories.com/f/security-cryptography/identity-authentication.md) — Verifies user identities using a wide range of local credentials and federated protocols. ([source](https://github.com/jaredhanson/passport#readme))
- [Session State Persistence](https://awesome-repositories.com/f/security-cryptography/identity-authentication/identity-based-authentication/session-state-persistence.md) — Implements session-based identity management to maintain authenticated states across multiple HTTP requests using a backend store.
- [Session-Based Access Controls](https://awesome-repositories.com/f/security-cryptography/identity-based-access-control/credential-based-access-controls/session-based-access-controls.md) — Manages user permissions and resource visibility using server-side session tokens.
- [Request Authentication Middleware](https://awesome-repositories.com/f/security-cryptography/request-authentication-middleware.md) — Provides middleware that intercepts requests to validate user sessions and enforce access control.
- [Session Authentication](https://awesome-repositories.com/f/security-cryptography/session-authentication.md) — Manages secure access and persistence of user sessions across multiple HTTP requests. ([source](https://github.com/jaredhanson/passport/blob/master/README.md))
- [User Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/user-authentication-strategies.md) — Secures application routes by confirming user identities through modular authentication strategies. ([source](https://github.com/jaredhanson/passport/blob/master/package.json))
- [Identity Federation Providers](https://awesome-repositories.com/f/security-cryptography/identity-federation-providers.md) — Integrates external identity providers using standardized protocols like OAuth and OpenID Connect.
- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/role-based-access-control.md) — Restricts access to application features based on permissions assigned to user roles.
- [Role-Based Access Controls](https://awesome-repositories.com/f/security-cryptography/role-based-access-controls.md) — Enforces granular access control by mapping verified user identities to specific application actions. ([source](https://github.com/jaredhanson/passport/wiki/Modules))
- [User Account Management](https://awesome-repositories.com/f/security-cryptography/user-account-management.md) — Supports the implementation of user account systems for managing credentials and profiles. ([source](https://github.com/jaredhanson/passport/wiki/Modules))

### Data & Databases

- [Authentication Strategy Registries](https://awesome-repositories.com/f/data-databases/data-compression-algorithms/pluggable-architectures/authentication-strategy-registries.md) — Implements a pluggable strategy registry to dynamically select authentication mechanisms during the request lifecycle.

### Web Development

- [Authentication Middleware](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/node-js-server-frameworks/authentication-middleware.md) — Provides a flexible middleware framework for managing user authentication and session state within Node.js applications.
- [Node.js Authentication](https://awesome-repositories.com/f/web-development/node-js-authentication.md) — Implements comprehensive user authentication and route securing specifically for Node.js applications.
- [Identity Attachment](https://awesome-repositories.com/f/web-development/api-request-configurations/request-metadata-attachment/identity-attachment.md) — Binds verified user objects directly to the request for access by route handlers.
- [Web Framework Integrations](https://awesome-repositories.com/f/web-development/web-framework-integrations.md) — Provides middleware and adapters to connect authentication logic to various Node.js web frameworks. ([source](https://github.com/jaredhanson/passport/wiki/Modules))

### Part of an Awesome List

- [Authentication and Authorization](https://awesome-repositories.com/f/awesome-lists/security/authentication-and-authorization.md) — Unobtrusive authentication middleware.
- [Authentication & Authorization](https://awesome-repositories.com/f/awesome-lists/security/authentication-authorization.md) — Standard authentication middleware for Node.js.
