2017-08-03 186 views
0

我想編碼一個變量(例如accessToken在這裏),但我使用Angular CLI,所以,Webpack,我想用jwt-簡單的是這樣的:Angular CLI - 祕密密鑰加密密鑰:jwt-simple不起作用

const encryptedAccessToken = jwt.encode(user.accessToken, APP_SECRET) 

我已導入模塊智威湯遜 - 用簡單:

var jwt = require('jwt-simple'); 

但後來我有一個鏈接到加密模塊的錯誤:

ERROR Error: Uncaught (in promise): TypeError: crypto.createHmac is not a function 
TypeError: crypto.createHmac is not a function 
    at sign (jwt.js:177) 
    at Object.jwt_encode [as encode] (jwt.js:143) 
    at authentication.service.ts:41 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391) 
    at Object.onInvoke (core.es5.js:3890) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.run (zone.js:141) 
    at zone.js:831 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424) 
    at Object.onInvokeTask (core.es5.js:3881) 
    at sign (jwt.js:177) 
    at Object.jwt_encode [as encode] (jwt.js:143) 
    at authentication.service.ts:41 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391) 
    at Object.onInvoke (core.es5.js:3890) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.run (zone.js:141) 
    at zone.js:831 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424) 
    at Object.onInvokeTask (core.es5.js:3881) 
    at resolvePromise (zone.js:783) 
    at zone.js:834 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424) 
    at Object.onInvokeTask (core.es5.js:3881) 
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423) 
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (zone.js:191) 
    at drainMicroTaskQueue (zone.js:595) 
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:502) 
    at invokeTask (zone.js:1370) 
    at XMLHttpRequest.globalZoneAwareCallback (zone.js:1388) 
defaultErrorLogger @ core.es5.js:1020 
webpackJsonp.../../../core/@angular/core.es5.js.ErrorHandler.handleError @ core.es5.js:1080 
next @ core.es5.js:4503 
schedulerFn @ core.es5.js:3635 
webpackJsonp.../../../../rxjs/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:238 
webpackJsonp.../../../../rxjs/Subscriber.js.SafeSubscriber.next @ Subscriber.js:185 
webpackJsonp.../../../../rxjs/Subscriber.js.Subscriber._next @ Subscriber.js:125 
webpackJsonp.../../../../rxjs/Subscriber.js.Subscriber.next @ Subscriber.js:89 
webpackJsonp.../../../../rxjs/Subject.js.Subject.next @ Subject.js:55 
webpackJsonp.../../../core/@angular/core.es5.js.EventEmitter.emit @ core.es5.js:3621 
(anonymous) @ core.es5.js:3912 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391 
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.run @ zone.js:141 
webpackJsonp.../../../core/@angular/core.es5.js.NgZone.runOutsideAngular @ core.es5.js:3844 
onHandleError @ core.es5.js:3912 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.handleError @ zone.js:395 
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runGuarded @ zone.js:157 
_loop_1 @ zone.js:666 
api.microtaskDrainDone @ zone.js:675 
drainMicroTaskQueue @ zone.js:603 
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502 
invokeTask @ zone.js:1370 
globalZoneAwareCallback @ zone.js:1388 

我不知道是否有另一種方法來保護Angular CLI的祕密變量,或者如果我能解決這個密碼問題?

回答