Debugging wizard secret
This commit is contained in:
parent
abd13325d4
commit
096fe1d1e4
2 changed files with 37 additions and 923 deletions
|
|
@ -13,6 +13,7 @@ const secretsFilePath = path.resolve(__dirname, 'secrets.json')
|
||||||
class Auth {
|
class Auth {
|
||||||
verifySecretsFile = async () => {
|
verifySecretsFile = async () => {
|
||||||
try {
|
try {
|
||||||
|
logger.info('Verifying secrets file...', secretsFilePath)
|
||||||
const fileExists = await FS.access(secretsFilePath)
|
const fileExists = await FS.access(secretsFilePath)
|
||||||
|
|
||||||
if (!fileExists) {
|
if (!fileExists) {
|
||||||
|
|
@ -37,6 +38,7 @@ class Auth {
|
||||||
const { exists, parsable } = await this.verifySecretsFile()
|
const { exists, parsable } = await this.verifySecretsFile()
|
||||||
|
|
||||||
if (exists && parsable) {
|
if (exists && parsable) {
|
||||||
|
logger.info('Secrets file exists!')
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +55,8 @@ class Auth {
|
||||||
|
|
||||||
readSecrets = () =>
|
readSecrets = () =>
|
||||||
new Promise((resolve, reject) => {
|
new Promise((resolve, reject) => {
|
||||||
this.initSecretsFile().then(() => {
|
this.initSecretsFile()
|
||||||
|
.then(() => {
|
||||||
jsonfile.readFile(secretsFilePath, (err, allSecrets) => {
|
jsonfile.readFile(secretsFilePath, (err, allSecrets) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.info('readSecrets err', err)
|
logger.info('readSecrets err', err)
|
||||||
|
|
@ -63,34 +66,36 @@ class Auth {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
.catch(reject)
|
||||||
})
|
})
|
||||||
|
|
||||||
writeSecrets(key, value) {
|
async writeSecrets(key, value) {
|
||||||
return this.initSecretsFile()
|
await this.initSecretsFile()
|
||||||
.then(() => this.readSecrets())
|
const allSecrets = await this.readSecrets()
|
||||||
.then(allSecrets => {
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
allSecrets[key] = value
|
allSecrets[key] = value
|
||||||
|
logger.info('Writing new secret:', secretsFilePath)
|
||||||
jsonfile.writeFile(
|
jsonfile.writeFile(
|
||||||
secretsFilePath,
|
secretsFilePath,
|
||||||
allSecrets,
|
allSecrets,
|
||||||
{ spaces: 2, EOL: '\r\n' },
|
{ spaces: 2, EOL: '\r\n' },
|
||||||
err => {
|
err => {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.info('writeSecrets err', err)
|
logger.error('writeSecrets err', err)
|
||||||
reject(err)
|
reject(err)
|
||||||
} else {
|
} else {
|
||||||
|
logger.info('New secret saved!')
|
||||||
resolve(true)
|
resolve(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async generateToken() {
|
async generateToken() {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const secret = uuidv1()
|
const secret = uuidv1()
|
||||||
|
logger.info('Generating new secret...')
|
||||||
const token = jwt.sign(
|
const token = jwt.sign(
|
||||||
{
|
{
|
||||||
data: { timestamp }
|
data: { timestamp }
|
||||||
|
|
@ -98,6 +103,7 @@ class Auth {
|
||||||
secret,
|
secret,
|
||||||
{ expiresIn: '500h' }
|
{ expiresIn: '500h' }
|
||||||
)
|
)
|
||||||
|
logger.info('Saving secret...')
|
||||||
await this.writeSecrets(timestamp, secret)
|
await this.writeSecrets(timestamp, secret)
|
||||||
return token
|
return token
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue