method/generateToken.js

/**
 * @module method/generateToken
 */

const admin = require('firebase-admin');

/**
 * Generate Firebase user token of a user
 *
 * @param  {object} user - User object
 * @param  {string} user.uid - Firebase User ID, e.g. hk_wx5555556.
 *
 * @return {string} User’s JSON web token.
 */
const generateToken = (user) => {
  return admin.auth().createCustomToken(user.uid).then((customToken) => {
    console.info('[Success] Created token for user ' + user.uid);

    return customToken;
  }).catch((error) => {
    console.error('[Failure] Error creating custom token: ', error);
  });
};

module.exports = generateToken;