28 lines
896 B
JavaScript
28 lines
896 B
JavaScript
const path = require("path");
|
|
require("dotenv").config({
|
|
path: path.resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
|
});
|
|
const logger = require("../utils/logger");
|
|
var jwt = require('jsonwebtoken');
|
|
|
|
const cannySsoHandler = async (req, res) => {
|
|
try {
|
|
var userData = {
|
|
//avatarURL: user.avatarURL, // optional, but preferred
|
|
email: req.user.email,
|
|
id: req.user.uid,
|
|
name: req.user.displayName || req.user.email,
|
|
};
|
|
res.status(200).send(jwt.sign(userData, process.env.CANNY_PRIVATE_KEY, { algorithm: 'HS256' }));
|
|
} catch (error) {
|
|
logger.log("sso-canny-error", "error", req?.user?.email, null, {
|
|
message: error.message,
|
|
stack: error.stack
|
|
});
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
cannySsoHandler
|
|
}; |