简体   繁体   English

如何在feathersjs中解码jwt并从此userId获取?

[英]How to decode jwt and get from this userId in feathersjs?

I'm using Feathers framework to my nodejs application and i have done creation of jwt in following way 我在我的nodejs应用程序中使用Feathers框架,并且按照以下方式完成了jwt的创建

  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')
      ]
    }
  });

now i have doubt how to get userId from token using jwt decoded data. 现在我怀疑如何使用jwt解码数据从令牌中获取userId。

using jwt-decode lib will provide the jwt decode functionality in feathersjs 使用jwt-decode lib将在feathersjs中提供jwt解码功能

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM