Я новичок в Node js и Auth и его стратегии.
Я знаю, что для моей проблемы доступно несколько потоков. Однако у меня есть сценарий, в котором я получаю req.Isauthenticated () false. Например, я пишу в файл json, используя свои API. написание успешно. Однако после написания я получаю req.Isauthenticated () false. Но если я продолжу просматривать свое приложение без отправки / записи через API. Он работает нормально.
Ниже мое приложение. js ссылка
var session = require('express-session');
const app = express();
var flash = require('connect-flash');
require('dotenv').config();
var passport = require('passport');
var OIDCStrategy = require('passport-azure-ad').OIDCStrategy;
ниже код сеанса
app.use(session({
secret: 'SAME_SECRET',
resave: false,
saveUninitialized: true,
unset: 'keep',
cookie: {
httpOnly: true,
expires: new Date(2037, 0, 1) // use expires instead of maxAge
}
}));
// Initialize passport
app.use(passport.initialize());
app.use(passport.session());
И один из примеров API
router.post('/New', async (req, res, next) => {
if (!req.isAuthenticated()) {
res.redirect('/'); // Redirect unauthenticated requests to home page
} else {
// Get the access token
var accessToken;
try {
accessToken = await tokens.getAccessToken(req);
} catch (err) {
console.log(JSON.stringify(err));
}
if (accessToken && accessToken.length > 0) {
let path="";
let filename="";
let result=await writeFile(path,filename,JSON.stringify({"Info":req.body}));
res.status(200).json({ result: true });
}
else{
res.status(200).json({
result:"Unauthorized or invalid token"
});
}
}
next();
});
Что мне могло не хватать?