Социальная аутентификация с использованием 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 пройдет аутентификацию, однако сам сайт не загружается. Как мне поступить?