В вконтакте – заходим – разработчикам – мои приложения.
Нажимаем создать приложение, указываем сайт, и заполняем:
От туда потребуется id и защищенный ключ.
И сам файлик app.js, получился такой:
const express = require('express');
const app = express();
const passport = require('passport');
const VKontakteStrategy = require('passport-vkontakte').Strategy;
passport.use(new VKontakteStrategy({
clientID: 'ИД из вконтакта',
clientSecret: 'Защищенный ключ из вконтакта',
callbackURL: "http://localhost:3000/auth/vkontakte/callback"
},
function(accessToken, refreshToken, params, profile, done) {
return done(null, profile);
}
));
const PORT = process.env.PORT || 3000
app.get('/auth/vkontakte',
passport.authenticate('vkontakte'),
function(req, res){
// The request will be redirected to vk.com for authentication, so
// this function will not be called.
});
app.get('/auth/vkontakte/callback',
passport.authenticate('vkontakte', {
failureRedirect: '/login',
session: false
}),
function(req, res) {
res.send(req.user);
});
app.use(function(req, res, next){
const err = new Error('Ни хрена не найдено!');
err.status = 404;
next(err);
});
app.use(function(err, req, res, next){
res.status(err.status || 500);
res.json({
message: err.message,
error: err
})
})
const server = app.listen(PORT, function () {
console.log('Сервер пашет на порту: ' + server.address().port);
})
Ну это совсем проще простого 🙂