mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-05-02 20:12:29 +00:00
* add `oidc-config` setting allowing an admin user to configure parameters * modify login page to show another button when oidc is configured * add dependency `openid-client` `v5.4.0` * add backend route to process "OAuth2 Authorization Code" flow initialisation * add backend route to process callback of above flow * sign in the authenticated user with internal jwt token if internal user with email matching the one retrieved from oauth claims exists Note: Only Open ID Connect Discovery is supported which most modern Identity Providers offer. Tested with Authentik 2023.2.2 and Keycloak 18.0.2
18 lines
439 B
JavaScript
18 lines
439 B
JavaScript
const Access = require('../access');
|
|
|
|
module.exports = () => {
|
|
return function (req, res, next) {
|
|
res.locals.access = null;
|
|
let access = new Access(res.locals.token || null);
|
|
// allow unauthenticated access to OIDC configuration
|
|
let anon_access = req.url === '/oidc-config' && !access.token.getUserId();
|
|
access.load(anon_access)
|
|
.then(() => {
|
|
res.locals.access = access;
|
|
next();
|
|
})
|
|
.catch(next);
|
|
};
|
|
};
|
|
|