2017-09-25 9 views
0

私はnodejsアプリケーションに羽のフレームワークを使用していると私は今、私はデータをデコード疑いどのようにJWTを使用してトークンからはuserIdを取得する必要があります方法feathersjsのjwtをデコードしてこのユーザーIDから取得する方法は?

app.service('authentication').hooks({ 
    before: { 
     create: [ 
     authentication.hooks.authenticate(config.strategies), 
     function (hook) { 
     hook.params.payload = { 
      userId: hook.params.user.userId, 
      accountId: hook.params.user.accountId 
      }; 
      return Promise.resolve(hook); 
     } 
     ], 
     remove: [ 
     authentication.hooks.authenticate('jwt') 
     ] 
    } 
    }); 

を以下にJWTの作成を行っています。

答えて

0

feathersjsでJWTデコード機能を提供しますJWTデコードLIBを使用して

const decode = require('jwt-decode'); 

hook.params.headers.authorization = 'eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyIsInR5cGUiOiJhY2Nlc3MifQ.eyJ1c2VySWQiOjEsImFjY291bnRJZCI6MSwiaWF0IjoxNTA2MzMwNzIyLCJleHAiOjE1MDY0MTcxMjIsImF1ZCI6Imh0dHBzOi8veW91cmRvbWFpbi5jb20iLCJpc3MiOiJmZWF0aGVycyIsInN1YiI6ImFub255bW91cyJ9.gZrDJhmzdpt9-7OCeRcKiayQiKbtv-3UaTkN1BhOCAI' 

var userId = decode(hook.params.headers.authorization).userId; 
console.log(userId) 
1 
関連する問題