Skip to content

feat: add OpenID Connect (OIDC) single sign-on - #5868

Open
Elity wants to merge 4 commits into
NginxProxyManager:developfrom
Elity:codex/oidc
Open

Elity wants to merge 4 commits into
NginxProxyManager:developfrom
Elity:codex/oidc

Conversation

@Elity

@Elity Elity commented Sep 18, 2026

Copy link
Copy Markdown

Why

Add support for standard OIDC providers, allowing users to sign in through an existing identity provider.

Administrators configure OIDC under Settings. Users link their existing NPM account under Edit Profile → Login methods using their authenticated session. Linking uses the provider’s issuer and subject identifiers, preserving existing NPM permissions and resource ownership.

OIDC is disabled by default. Local password login and two-factor authentication remain available. New /api/oidc/* endpoints are additive and do not change existing API behavior.

Includes configuration documentation and tests covering authentication, account linking, permissions, and the login interface.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring
  • API changes
  • Performance improvement
  • Test addition or update

AI Usage

  • AI was used to write this
  • AI was used to review this

Huiting Chen added 4 commits September 18, 2026 00:59
Revalidate provider settings when linking, reclaim identities only from deleted accounts, and prevent removing the last login method. Cancel abandoned OIDC requests before they redirect or replace a local session. Preserve actionable settings errors, document the API, and add focused regression coverage.
@nginxproxymanagerci

Copy link
Copy Markdown

Docker Image for build 1 is available on DockerHub:

nginxproxymanager/nginx-proxy-manager-dev:pr-5868

Note

Ensure you backup your NPM instance before testing this image! Especially if there are database changes.
This is a different docker image namespace than the official image.

Warning

Changes and additions to DNS Providers require verification by at least 2 members of the community!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant