Я развернул свой express бэкэнд на Lambda. На localhost все работает, как и ожидалось, но по лямбда-паспорту не вызывается GoogleStrategy callbackURL.
passport.serializeUser((id, done) => {
done(null, id);
});
passport.deserializeUser((id, done) => {
done(null, id);
});
passport.use(
new GoogleStrategy(
{
clientID: keys.GOOGLE.clientID,
clientSecret: keys.GOOGLE.clientSecret,
callbackURL: "/auth/google/callback"
},
(accessToken, refreshToken, profile, done) => {
id = profile._json.email;
console.log("email", id);
done(null, id);
}
)
);
app.use(passport.initialize());
app.use(passport.session());
app.get(
"/auth/google",
passport.authenticate("google", {
scope: ["email"]
})
);
app.get(
"/auth/google/callback",
passport.authenticate("google"),
(req, res) => {
console.log("::::::::: CALLBACK ROUTE ::::::::");
let options = {
maxAge: 1000 * 60 * 15,
};
res.cookie("user", id, options);
res.redirect(301, "/form");
}
);
Это журнал из шлюза API, когда я вызываю "auth / google". Процесс аутентификации работает, но он не вызывает URL-адрес обратного вызова.
(a441c352-4730-46c1-99fc-9b5456ab8862) Endpoint response body before transformations:
{
"statusCode": 302,
"body": "",
"headers": {
"x-powered-by": "Express",
"access-control-allow-origin": "*",
"location": "https://accounts.google.com/o/oauth2/v2/auth?response_type=code&redirect_uri=http%3A%2F%2Fqxja175hgk.execute-api.ap-south-1.amazonaws.com%2Fauth%2Fgoogle%2Fcallback&scope=email&client_id=1007782739849-2bthjk7r15sspi7pvlqohe93iji0an3l.apps.googleusercontent.com",
"content-length": "0",
"date": "Tue, 03 Mar 2020 13:45:08 GMT",
"connection": "close"
},
"isBase64Encoded": false
}
Как мне это исправить?