diff options
Diffstat (limited to 'backend/src/utils.js')
| -rw-r--r-- | backend/src/utils.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/backend/src/utils.js b/backend/src/utils.js new file mode 100644 index 0000000..35587db --- /dev/null +++ b/backend/src/utils.js @@ -0,0 +1,23 @@ +const jwt = require('jsonwebtoken'); + +function getUserId(ctx) { + const Authorization = ctx.request.get('Authorization'); + if (Authorization) { + const token = Authorization.replace('Bearer ', ''); + const { userId } = jwt.verify(token, process.env.APP_SECRET); + return userId; + } + + throw new AuthError(); +} + +class AuthError extends Error { + constructor() { + super('Not authorized'); + } +} + +module.exports = { + getUserId, + AuthError, +}; |
