mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 15:53:33 +00:00 
			
		
		
		
	Removed the need to restart Nginx Proxy Manager after generating JWT key pair.
This commit is contained in:
		| @@ -4,15 +4,23 @@ | ||||
|  */ | ||||
|  | ||||
| const _      = require('lodash'); | ||||
| const config = require('config'); | ||||
| const jwt    = require('jsonwebtoken'); | ||||
| const crypto = require('crypto'); | ||||
| const error  = require('../lib/error'); | ||||
| const ALGO   = 'RS256'; | ||||
|  | ||||
| let public_key  = null; | ||||
| let private_key = null; | ||||
|  | ||||
| function checkJWTKeyPair() { | ||||
| 	if (!public_key || !private_key) { | ||||
| 		let config  = require('config'); | ||||
| 		public_key  = config.get('jwt.pub'); | ||||
| 		private_key = config.get('jwt.key'); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| module.exports = function () { | ||||
| 	const public_key  = config.get('jwt.pub'); | ||||
| 	const private_key = config.get('jwt.key'); | ||||
|  | ||||
| 	let token_data = {}; | ||||
|  | ||||
| @@ -32,6 +40,8 @@ module.exports = function () { | ||||
| 				.toString('base64') | ||||
| 				.substr(-8); | ||||
|  | ||||
| 			checkJWTKeyPair(); | ||||
|  | ||||
| 			return new Promise((resolve, reject) => { | ||||
| 				jwt.sign(payload, private_key, options, (err, token) => { | ||||
| 					if (err) { | ||||
| @@ -53,6 +63,7 @@ module.exports = function () { | ||||
| 		 */ | ||||
| 		load: function (token) { | ||||
| 			return new Promise((resolve, reject) => { | ||||
| 				checkJWTKeyPair(); | ||||
| 				try { | ||||
| 					if (!token || token === null || token === 'null') { | ||||
| 						reject(new error.AuthError('Empty token')); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user