Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express')
- const app = express()
- const passport = require('passport');
- const Auth0Strategy = require('passport-auth0');
- const session = require('express-session');
- const secured = require('C:\\Users\\irina\\WebstormProjects\\webdb\\lib\\middleware\\secured.js');
- const port = 8080
- const bodyParser = require("body-parser");
- app.use(bodyParser.json())
- app.use(bodyParser.urlencoded({
- extended: true
- }))
- const request = require('C:\\Users\\irina\\WebstormProjects\\webdb\\public\\request.js')
- const { Pool, Client } = require('pg')
- const pool = new Pool({
- user: 'db_admin',
- host: 'web-dbs-instances.civdu8egjyug.eu-west-2.rds.amazonaws.com',
- database: 'web_db',
- password: 'QAZplm123)(*',
- port: 5432,
- })
- app.set("view engine",'ejs');
- pool.query('SELECT NOW()', (err, res) => {
- console.log(err, res)
- pool.end()
- })
- const client = new Client({
- user: 'db_admin',
- host: 'web-dbs-instances.civdu8egjyug.eu-west-2.rds.amazonaws.com',
- database: 'web_db',
- password: 'QAZplm123)(*',
- port: 5432,
- })
- client.connect()
- /*client.query('select * from events', (err, res) => {
- console.log(err, res)
- client.end()
- })*/
- // config express-session
- var sess = {
- secret: 'CHANGE THIS SECRET<--------',
- cookie: {},
- resave: false,
- saveUninitialized: true
- };
- if (app.get('env') === 'production') {
- sess.cookie.secure = true; // serve secure cookies, requires https
- }
- //Внизу что-то интересное
- // Configure Passport to use Auth0
- const strategy = new Auth0Strategy(
- {
- domain: 'cehan.eu.auth0.com',
- clientID: 'RQmn4EorkSAFB1xXMD5rRheMDo1MARyE',
- clientSecret: 'KTIYR8OcY27pbd7LF-mgGjv8TEVeixpnvpGmdDHI_71D7eCrr7qalQ_TtTMyp64z',
- callbackURL:
- process.env.AUTH0_CALLBACK_URL || 'http://localhost:8080/callback'
- },
- function (accessToken, refreshToken, extraParams, profile, done) {
- console.log(profile)
- let userid = profile.id;
- client.query('select count(client_id) as count from clients where client_id=$1',[userid], (err,res) => {
- if (err) {
- console.log(err.stack)
- }
- console.log(res.rows[0].count)
- if (res.rows[0].count == 0) {
- let lname = profile.name.familyName;
- let fname = profile.name.givenName;
- let ct = 1;
- client.query('insert into clients (client_id,last_name,first_name,city_id) values ($1,$2,$3,$4)', [userid, lname, fname, ct], (err, res) => {
- if (err) {
- console.log(err.stack)
- }
- })
- }
- })
- // accessToken is the token to call Auth0 API (not needed in the most cases)
- // extraParams.id_token has the JSON Web Token
- // profile has all the information from the user
- return done(null, profile)
- }
- )
- passport.use(strategy);
- //Внизу что-то интересное
- app.use(session(sess));
- app.use(passport.initialize());
- app.use(passport.session());
- //Внизу что-то интересное
- passport.serializeUser(function (user, done) {
- done(null, user);
- });
- passport.deserializeUser(function (user, done) {
- done(null, user);
- });
- app.get('/login', passport.authenticate('auth0', {
- scope: 'openid email profile'
- }), function (req, res) {
- res.redirect('/');
- });
- app.get('/callback', function (req, res, next) {
- passport.authenticate('auth0', function (err, user, info) {
- if (err) { return next(err); }
- if (!user) { return res.redirect('/login'); }
- req.logIn(user, function (err) {
- if (err) { return next(err); }
- const returnTo = req.session.returnTo;
- delete req.session.returnTo;
- res.redirect(returnTo || '/');
- });
- })(req, res, next);
- });
- app.get('/logout',(req,res)=>{
- req.logout()
- res.redirect('/')
- });
- app.get('/',(req, res) =>{
- console.log(req.isAuthenticated())
- res.sendFile(__dirname + '/public/index.html')
- })
- app.get('/about.html',(req, res) =>{
- console.log(req.isAuthenticated())
- res.sendFile(__dirname + '/public/about.html')
- })
- app.get('/index.html',(req, res) =>{
- console.log(req.isAuthenticated())
- res.sendFile(__dirname + '/public/index.html')
- })
- app.get('/events',request.funevents);
- app.get('/profile',request.funprofile);
- app.get('/check', (req,res) => {
- res.send(req.isAuthenticated())
- });
- app.post('/confirm', (req, res) => {
- console.log(req.body);
- let isDone = true;
- let id = req.body.eventid;
- let clnt = req.user.user_id;
- client.query('select count(id) as count from events_clients where client_id=$1 and event_id=$2',[clnt,id], (err,res) => {
- if (err) {
- console.log(err.stack)
- }
- if (res.rows[0].count == 0) {
- client.query('insert into events_clients (event_id, client_id) values ($1,$2 )',[id,clnt], (err) => {
- if (err) {
- console.log(err.stack);
- }
- })
- }
- })
- });
- app.post('/reject', (req, res) => {
- let id = req.body.eventid;
- let clnt = req.user.user_id;
- client.query('delete from events_clients where event_id=$1 and client_id = $2',[id,clnt], (err) => {
- if (err) {
- console.log(err.stack)
- }
- });
- });
- app.listen(port, () => console.log(`Server listening on port ${port}!`))
- var Pusher = require('pusher');
- var pusher = new Pusher({
- appId: '668435',
- key: '088e88ca8394e8035572',
- secret: 'dea11e8396f79a519e47',
- cluster: 'eu',
- encrypted: true
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement