Проблемы с аутентификацией на Brilliant.org (вызов) - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь пройти аутентификацию на https://brilliant.org/account/login/,, однако, несмотря на то, что я отправляю все необходимые данные формы, я не аутентифицирован.В чем может быть проблема?

   const checkIfAuthenticated = () => {
        return new Promise(resolve => {
            request.get('https://brilliant.org/notifications/get_updated_unread_count/', (err, res, body) => {
                if (body === '{"logged_out": true}') {
                    return resolve('Login FAILED')
                } else {
                    return resolve('Login SUCCESS')
                }
            })
        })
    }

    /////////////////////////////////////////////////////////////////
    const loginUrl = 'https://brilliant.org/account/login/'
    var request = require('request');
    var request = request.defaults({
        jar: true,
        headers: {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
        }
    });
    const options = {
        form: {
            "login": 'bo@gmail.com',
            "password": '12345',
            "next": '/'
        }
    }
    //////////////////////////////////////////////////////////////////

    request.get(loginUrl, async (err, res, body) => {

        const matches = await body.match(/csrfmiddlewaretoken' value='([a-zA-Z0-9]+)/m)
        options.csrfmiddlewaretoken = matches[1]

        request.post({url: loginUrl, options: options}, (err, res, body) =>        
            checkIfAuthenticated().then(loginStatus => console.log(loginStatus))
        })
    });

Вы можете попробовать сами, обязательно измените имя пользователя и пароль.

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