Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. const firebaseAuthMiddleware = async function (request, reply) {
  2. const authHeader = request.headers['authorization'];
  3.  
  4. // HEADER NOT PROVIDED
  5. if (!authHeader)
  6. return notAuthorized(reply);
  7.  
  8. const [protocol, token] = authHeader.split(' ');
  9.  
  10. // TOKEN NOT PROVIDED
  11. if (!token)
  12. return notAuthorized(reply);
  13.  
  14. const started = Date.now();
  15.  
  16. try {
  17.  
  18. const decodedToken = await firebaseAdminSDK.auth().verifyIdToken(token);
  19. const firebaseUser = await firebaseAdminSDK.auth().getUser(decodedToken.uid);
  20.  
  21. request.firebaseUser = firebaseUser;
  22. request.authTime = Date.now() - started;
  23. return;
  24.  
  25. } catch (error) {
  26.  
  27. if (error.code === FIREBASE_TOKEN_EXPIRED) {
  28. reply.code(440);
  29. reply.send({ code: errorTypes.SESSION_EXPIRED });
  30. return;
  31. }
  32.  
  33. reply.code(401);
  34. reply.send({ code: FIREBASE_AUTH_ERROR, error });
  35. return;
  36.  
  37. }
  38. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement