From 30c289070239c54a4aa3d67af64739f3f42ea200 Mon Sep 17 00:00:00 2001 From: siddhant1 Date: Tue, 6 Nov 2018 00:55:32 +0530 Subject: [PATCH] Added flexibility to Auth --- advanced/src/utils.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/advanced/src/utils.js b/advanced/src/utils.js index 9cad2d36..ba83715c 100644 --- a/advanced/src/utils.js +++ b/advanced/src/utils.js @@ -1,23 +1,25 @@ -const jwt = require('jsonwebtoken') +const jwt = require("jsonwebtoken"); -function getUserId(ctx) { - const Authorization = ctx.request.get('Authorization') +function getUserId(ctx, requireAuth = true) { + const Authorization = ctx.request.get("Authorization"); if (Authorization) { - const token = Authorization.replace('Bearer ', '') - const { userId } = jwt.verify(token, process.env.APP_SECRET) - return userId + const token = Authorization.replace("Bearer ", ""); + const { userId } = jwt.verify(token, process.env.APP_SECRET); + return userId; } - - throw new AuthError() + if (requireAuth) { + throw new AuthError(); + } + return null; } class AuthError extends Error { constructor() { - super('Not authorized') + super("Not authorized"); } } module.exports = { getUserId, AuthError -} \ No newline at end of file +};