Процедура социальной аутентификации с использованием wechat с использованием passport.js и узла - PullRequest
0 голосов
/ 23 октября 2019

Социальная аутентификация с использованием wechat в node.js.

В настоящее время я использую инфраструктуру passport.js.

var http = require('http');
var passport = require('passport');
var WeChatStrategy = require('passport-wechat').Strategy;
var express = require('express');

passport.use(new WeChatStrategy(
  {
    appID: {APPID},
    //name:{默认为wechat,可以设置组件的名字},
    appSecret: {APPSECRET},
    client: 'web',
    callbackURL: {CALLBACKURL},
    scope: "snsapi_userinfo",
    state:'login',
    // getToken: {getToken},
    // saveToken: {saveToken}
  },
  function (accessToken, refreshToken, profile, expires_in, done) {
    return done(err, profile);
  })
);

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

passport.deserializeUser(function (obj, done) {
  done(err, obj);
})

var app = express();
let cp = require('cookie-parser');
app.use(require('morgan')('combined'));
app.use(cp());
app.use(require('body-parser').urlencoded({ extended: true }));
app.use(require('express-session')({ secret: 'keyboard cat', resave: true, saveUninitialized: true }));

app.use(passport.initialize());
app.use(passport.session());

app.get('/', function (req, res) {
  res.sendFile('/Users/vinekama/Documents/Work Samples/js/lel.html');
});


app.get('/auth/wechat', passport.authenticate('wechat'));

app.get('/auth/wechat/callback', passport.authenticate('wechat', {
  failureRedirect: '/auth/fail',
  successReturnToOrRedirect: '/'
}));


app.listen(8080, function () {

  console.log("Express server running on port 8080");
});

Вот как выглядит HTML-код:

    <html>
    <body>
        <h1> Success</h1>
        <a href='/auth/wechat'>Log in with we Chat OAuth provider</a>
    </body>
    </html>

После предоставления appid, секрета приложения и URL-адреса обратного вызова я ожидаю, что wechat пройдет аутентификацию, однако сам сайт не загружается. Как мне поступить?

...