0
koa-jsonwebtoken과 함께 사용할 비밀을로드하려고합니다.then yield 모듈을 비동기 적으로 파일을 읽는 방법
import jwt, { fromAuthorizationHeader } from 'koa-jsonwebtoken';
import {serverCredentials} from './auth'
//...
console.log('loaded serverCredentials' + JSON.stringify(serverCredentials))
app.use(jwt({ secret: serverCredentials.shared, extractToken: fromAuthorizationHeader }));
내 인증은 다음과 같습니다 :
여기 내 KOA 서버에서와 관계있는 비트의
import ty from 'then-yield'
import md5 from 'md5'
import Promise from 'bluebird'
const fs = Promise.promisifyAll(require('fs'));
const serverCredentials = ty.spawn(function*() {
let src
try {
console.log('trying')
src = yield fs.readFileAsync('./serverCredentials.json','utf8')
} catch(e) {
console.error('Error when opening serverCredentials file: ' + e.message);
throw e
}
console.log('serverCredentials: ' + src)
return JSON.parse(src)
})
export {serverCredentials}
하지만 내 로그는 말한다 : 대신 서버 키의
trying
loaded serverCredentials{"isFulfilled":false,"isRejected":false}
합니다.
, 당신은'fs.readFileAsync ('../ serverCredentials.json', 'UTF-8') 다음 (기능 (고해상도)을 시도했다가 {CONSOLE.LOG (res)})'? – JorgeObregon
마지막 행을 주석 처리하고 ENOENT에 대한 catch를 실행했음을 나타냅니다. 그러나 이제는 경로를 수정했지만 여전히 동일한 문제가 있습니다. updated –
Bluebird를 사용하고 있다면, 왜 Promise.coroutine 대신에 yield를 선택하겠습니까? 그리고 당신이 transpiler를 사용한다면'async' /'await'를 사용하지 않을까요? – Bergi