AWS Лямбда-паспорт js Google oauth обратный вызов не работает - PullRequest
0 голосов
/ 04 марта 2020

Я развернул свой 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
}

Как мне это исправить?

...