Расширение Chrome - не отправлять куки в запросе - PullRequest
0 голосов
/ 30 мая 2019

Я прочитал множество вопросов по SO, перепробовал несколько вещей, но безуспешно. Мой вопрос был бы похожим, но я пишу, потому что я попробовал все, но все еще не удалось.

Я хочу проверить, поддерживается ли сеанс пользователя на моем сервере. У меня есть веб-сервис, который возвращает логическое значение на основе полученных файлов cookie.

Ответственность за отправку файлов cookie (при их наличии) при обращении к серверу несет браузер. Поэтому, когда я запрашиваю через расширение chrome, теоретически браузер должен также отправлять файлы cookie. Однако это не так.

Вот мой код: -

content.js

fetch('https://zoffers.in/apis/shops/get_aff_url/', {
    credentials: 'include',
    mode: 'cors',
    async: false,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        name: 'Hubot',
        login: 'hubot',
    })
})
.then(function(data) {

})
.catch(function(error) {

})

manifest.json

{
    "manifest_version": 2,
    "version": "0.1",
    "content_scripts": [{
        "matches": [
            "https://*/*/"
        ],
        "js": ["js/content.js"],
        "run_at": "document_start"
    }],
    "browser_action": {
        // "default_icon": "icon.png",
        "default_popup": "popup.html",
        "default_title": "Click here!"
    },
    "permissions": [
        "identity",
        "identity.email",
        "tabs",
        "notifications",
        "cookies",
        "https://zoffers.in/"
    ]
}

Что я не так делаю? Может кто-нибудь, пожалуйста, помогите мне через это.

ОБНОВЛЕНО

content.js

message = {
    'event_type': 'Event1',
}
chrome.runtime.sendMessage(message);

background.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse){
        if(request.event_type === 'Event1'){
            chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
                fetch('https://zoffers.in/apis/shops/get_aff_url/', {
                    credentials: 'include',
                    mode: 'cors',
                    async: false,
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        name: 'Hubot',
                        login: 'hubot',
                    })
                })
                .then(function(data) {

                })
                .catch(function(error) {

                })
            }
        }
    }
);

Добавили background.js в файл manifest.json. Но все еще не работает.

1 Ответ

0 голосов
/ 31 мая 2019

Вы можете использовать стандартные файлы cookie api и получать доступ к файлам cookie для любого доступного URL.

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