Маршруты Nodejs не перенаправляют на производство на Heroku - PullRequest
0 голосов
/ 08 октября 2018

Я знаю, что этот вопрос был задан и получен ответ, но я пытался следовать тому, что другие люди предложили в ответе, и все еще не повезло!Это действительно расстраивает.

У меня есть кнопка для отправки запроса в google oauth 2.0 с помощью passport.js для входа, в localhost все выглядит нормально, но когда я развернул в Heroku, кнопка не перенаправляет пользователя на страницу входа в Google,но URL-адрес указан на /auth/google.

Я знаю, что Heroku ожидает http, а не https, и Google ожидает https, но я не знаю, почему страница все равно будет такой же, когда я нажимаюbutton.

Вот кнопка:

<div className="login-image-container">
     <Thumbnail href="/auth/google" src={googleSignUpImg} bsClass="login-image" />
</div>

authRoutes:

const passport = require('passport');

module.exports = (app) => {

    app.get('/auth/google', passport.authenticate('google', {
        scope: ['profile', 'email']
        })
    );

    app.get('/auth/google/callback', passport.authenticate('google'), 
        (req, res) => {
            res.redirect('/');
        }
    );
};

passport.js:

passport.use(new GoogleStrategy({
    clientID: keys.googleClientID,
    clientSecret: keys.googleClientSecret,
    callbackURL: keys.absoluteURI + '/auth/google/callback',
    proxy: true
})

Я ставлю absoluteURI как absoluteURI: 'http://myHerokuUrl.herokuapp.com' примерно так:

module.exports = {
googleClientID: process.env.GOOGLE_CLIENT_ID,
googleClientSecret: process.env.GOOGLE_SECRET_ID,
cookieKey: process.env.COOKIE_KEY,
absoluteURI: 'http://myHerokuUrl.herokuapp.com'
};

Странно, если я пойду к http://myHerokuUrl.herokuapp.com,, все будет хорошо.Таким образом, я подумал, что, может быть, я смогу заставить веб-приложение выполнить https: // с http: //, но это не работает.

Я поставил http://myHerokuUrl.herokuapp.com и https://myHerokuUrl.herokuapp.com
на Авторизованные источники JavaScript в API консоли Google, и я поставил http://myHerokuUrl.herokuapp.com/auth/google/callback и https://myHerokuUrl.herokuapp.com/auth/google/callback на Авторизованные URI перенаправления , но он все еще не работает.

Любая помощь, я был бы признателен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...