const passport = require('passport');
const request = require('request');
const OAuth2Strategy = require('passport-oauth2');
const session = require('express-session');

passport.serializeUser(function(user, done) {
  done(null, user);
});

passport.deserializeUser(function(user, done) {
  done(null, user);
});

passport.use(new OAuth2Strategy({
    authorizationURL: 'https://my.ecp.fr/oauth/v2/auth',
    tokenURL: 'https://my.ecp.fr/oauth/v2/token',
    clientID: "91_56g1d3eaykw80gc8cg4w4cscg0gs8cc0ko0gkkc4kcwosok4sc",
    clientSecret: "4sy6fetav7k04w8swg00wwccgcc0cwsc0ckoo0kcwc840gccog",
    callbackURL: "http://localhost:3000/auth/connect/callback",
    state: true
  },
  function(accessToken, refreshToken, profile, cb) {
    request.get('https://my.ecp.fr/api/v1/members/me', {
      'auth': {
        'bearer': accessToken
      }
    },
    function(error, response, body) {
      return cb(null,JSON.parse(body));
    })
  }
));

module.exports = passport;