如何解码 jwt 并从 feathersjs 中的这个 userId 获取?
How to decode jwt and get from this userId in feathersjs?
我在我的 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')
]
}
});
现在我不知道如何使用 jwt 解码数据从令牌中获取 userId。
使用 jwt-decode 库将在 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
我在我的 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')
]
}
});
现在我不知道如何使用 jwt 解码数据从令牌中获取 userId。
使用 jwt-decode 库将在 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