mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-02 21:44:56 +02:00
Remove jsonwebtoken dependency
This commit is contained in:
parent
b61ecefce4
commit
954cf3e14e
29 changed files with 2130 additions and 93 deletions
30
server/libs/jsonwebtoken/decode.js
Normal file
30
server/libs/jsonwebtoken/decode.js
Normal file
|
@ -0,0 +1,30 @@
|
|||
var jws = require('../jws');
|
||||
|
||||
module.exports = function (jwt, options) {
|
||||
options = options || {};
|
||||
var decoded = jws.decode(jwt, options);
|
||||
if (!decoded) { return null; }
|
||||
var payload = decoded.payload;
|
||||
|
||||
//try parse the payload
|
||||
if (typeof payload === 'string') {
|
||||
try {
|
||||
var obj = JSON.parse(payload);
|
||||
if (obj !== null && typeof obj === 'object') {
|
||||
payload = obj;
|
||||
}
|
||||
} catch (e) { }
|
||||
}
|
||||
|
||||
//return header if `complete` option is enabled. header includes claims
|
||||
//such as `kid` and `alg` used to select the key within a JWKS needed to
|
||||
//verify the signature
|
||||
if (options.complete === true) {
|
||||
return {
|
||||
header: decoded.header,
|
||||
payload: payload,
|
||||
signature: decoded.signature
|
||||
};
|
||||
}
|
||||
return payload;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue