mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-05-03 20:42:28 +00:00
fix: add oidc logger and replace console logging
This commit is contained in:
parent
d0d36a95ec
commit
6ed64153e7
@ -9,5 +9,6 @@ module.exports = {
|
|||||||
ssl: new Signale({scope: 'SSL '}),
|
ssl: new Signale({scope: 'SSL '}),
|
||||||
import: new Signale({scope: 'Importer '}),
|
import: new Signale({scope: 'Importer '}),
|
||||||
setup: new Signale({scope: 'Setup '}),
|
setup: new Signale({scope: 'Setup '}),
|
||||||
ip_ranges: new Signale({scope: 'IP Ranges'})
|
ip_ranges: new Signale({scope: 'IP Ranges'}),
|
||||||
|
oidc: new Signale({scope: 'OIDC '})
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ const crypto = require('crypto');
|
|||||||
const error = require('../../lib/error');
|
const error = require('../../lib/error');
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwtdecode = require('../../lib/express/jwt-decode');
|
const jwtdecode = require('../../lib/express/jwt-decode');
|
||||||
|
const logger = require('../../logger').oidc;
|
||||||
const oidc = require('openid-client');
|
const oidc = require('openid-client');
|
||||||
const settingModel = require('../../models/setting');
|
const settingModel = require('../../models/setting');
|
||||||
const internalToken = require('../../internal/token');
|
const internalToken = require('../../internal/token');
|
||||||
@ -25,7 +26,7 @@ router
|
|||||||
* OAuth Authorization Code flow initialisation
|
* OAuth Authorization Code flow initialisation
|
||||||
*/
|
*/
|
||||||
.get(jwtdecode(), async (req, res) => {
|
.get(jwtdecode(), async (req, res) => {
|
||||||
console.log('oidc: init flow');
|
logger.info('Initializing OAuth flow');
|
||||||
settingModel
|
settingModel
|
||||||
.query()
|
.query()
|
||||||
.where({id: 'oidc-config'})
|
.where({id: 'oidc-config'})
|
||||||
@ -49,7 +50,7 @@ router
|
|||||||
* Oauth Authorization Code flow callback
|
* Oauth Authorization Code flow callback
|
||||||
*/
|
*/
|
||||||
.get(jwtdecode(), async (req, res) => {
|
.get(jwtdecode(), async (req, res) => {
|
||||||
console.log('oidc: callback');
|
logger.info('Processing callback');
|
||||||
settingModel
|
settingModel
|
||||||
.query()
|
.query()
|
||||||
.where({id: 'oidc-config'})
|
.where({id: 'oidc-config'})
|
||||||
@ -137,13 +138,18 @@ let validateCallback = async (req, settings) => {
|
|||||||
const params = client.callbackParams(req);
|
const params = client.callbackParams(req);
|
||||||
const tokenSet = await client.callback(settings.meta.redirectURL, params, { state, nonce });
|
const tokenSet = await client.callback(settings.meta.redirectURL, params, { state, nonce });
|
||||||
let claims = tokenSet.claims();
|
let claims = tokenSet.claims();
|
||||||
console.log('oidc: authentication successful for email', claims.email);
|
|
||||||
|
if (!claims.email) {
|
||||||
|
throw new error.AuthError('The Identity Provider didn\'t send the \'email\' claim');
|
||||||
|
} else {
|
||||||
|
logger.info('Successful authentication for email ' + claims.email);
|
||||||
|
}
|
||||||
|
|
||||||
return internalToken.getTokenFromOAuthClaim({ identity: claims.email });
|
return internalToken.getTokenFromOAuthClaim({ identity: claims.email });
|
||||||
};
|
};
|
||||||
|
|
||||||
let redirectToAuthorizationURL = (res, params) => {
|
let redirectToAuthorizationURL = (res, params) => {
|
||||||
console.log('oidc: init flow > url > ', params.url);
|
logger.info('Authorization URL: ' + params.url);
|
||||||
res.cookie('npm_oidc', params.state + '--' + params.nonce);
|
res.cookie('npm_oidc', params.state + '--' + params.nonce);
|
||||||
res.redirect(params.url);
|
res.redirect(params.url);
|
||||||
};
|
};
|
||||||
@ -154,7 +160,7 @@ let redirectWithJwtToken = (res, token) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let redirectWithError = (res, error) => {
|
let redirectWithError = (res, error) => {
|
||||||
console.log('oidc: callback error: ', error);
|
logger.error('Callback error: ' + error.message);
|
||||||
res.cookie('npm_oidc_error', error.message);
|
res.cookie('npm_oidc_error', error.message);
|
||||||
res.redirect('/login');
|
res.redirect('/login');
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user