Ajax запрос с авторизацией к http-сервису 1с
Опубликовал http-сервис на Apache 2.2 с SSL сертификатом. на js и jQuery пишу ajax-запрос:
пока в базе нет пользователей запрос отрабатывает успешно и возвращает нужный результат.
Если в базу добавляю пользователя, то начинаются проблемы. если вводить url в строку запроса браузера, то выходит окно авторизации, вбиваю логин и пароль 1c и запрос выполняется успешно.
Но через ajax уже не работает:
возвращает 401 (Unauthorized).
Добавление header "Authorization": "Basic " + btoa(login + ":" + password) - не дает результатов и более того вызывает запрос OPTION, который так-же не проходит. Как правильно настроить авторизацию, подскажите пжл.
$.ajax({
url: url,
type: 'get',
success: success,
error: error
});
Если в базу добавляю пользователя, то начинаются проблемы. если вводить url в строку запроса браузера, то выходит окно авторизации, вбиваю логин и пароль 1c и запрос выполняется успешно.
Но через ajax уже не работает:
$.ajax({
url: url,
type: 'get',
username: login,
password: password,
success: success,
error: error
});
Добавление header "Authorization": "Basic " + btoa(login + ":" + password) - не дает результатов и более того вызывает запрос OPTION, который так-же не проходит. Как правильно настроить авторизацию, подскажите пжл.
По теме из базы знаний
- Online телефонный справочник из 1С: Зарплата и управление персоналом
- Практика доступа в базу 1С через протокол oData. Чтение данных
- Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С
- HTML-клиент у конфигурации 1С
- HTTP, Ajax, JSON: Один год Pet-проекту на 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Попробовал этот вариант. Всё получилось. Без авторизации запросы проходят на ура. Но когда сделал авторизацию на уровне Apache, то проблема возобновилась с той разницей, что из браузера теперь выходит другое окно авторизации. Совсем без авторизации тоже наверно не гуд. Сервер на самосгенереном ssl. Может с этим какие траблы?
(3) авторизацию можно сделать на уровне кода в конфигурации. Это обычная практика для rest api.
Можно заморочиться и сделать аналог jwt, passport и т.д. Но возможно более простое решение (но менее безопасное): при каждом запросе передавать логин и пароль в заголовках.
Можно заморочиться и сделать аналог jwt, passport и т.д. Но возможно более простое решение (но менее безопасное): при каждом запросе передавать логин и пароль в заголовках.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот