Авторизация на сайте по токену

1. evogul 21.09.22 11:06 Сейчас в теме
Добрый день! Я не опытен в этой сфере, поэтому сильно не пинайте. Пытаюсь подключиться к api SOKOLOV согласно документации https://b2b.sokolov.ru/public/docs/sokolov-b2b-catalog.html . Использую такую конструкцию:

        Прокси = новый ИнтернетПрокси;
	Прокси.Пользователь = ПроксиЛогин;
	Прокси.Пароль = ПроксиПароль;
	Прокси.Установить("https",ПроксиАдрес,3128,ПроксиЛогин,ПроксиПароль); 
	
	////////////////////////////////////////////////////////////­
	//Получение токена
	
	Соединение = Новый HTTPСоединение("api.b2b.sokolov.net",443,Логин,Пароль,Прокси,,новый ЗащищенноеСоединениеOpenSSL());
	Запрос = Новый HTTPЗапрос("/login");  
	Запрос.Заголовки.Вставить("Authorization", "Basic "+СоздатьСтрокуBase64(Логин+":"+Пароль));
	
	Ответ = Соединение.Получить(Запрос);	
	
	Если Ответ.КодСостояния = 200 Тогда
		Ответ = РазобратьОтвет(Ответ);
	иначе
		возврат;
	Конецесли;
	
	Токен = ответ.access_token;
	
	//////////////////////////////////////////////////////////   
	//Получение каталога

	ЗаголовокЗапросаHTTP = Новый Соответствие();  
        ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json");
        ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " +Токен);

	Запрос = Новый HTTPЗапрос("/catalog/products",ЗаголовокЗапросаHTTP);     
		
	Ответ = Соединение.Получить(Запрос);      
	ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
Показать


Первая часть, получение токена, проходит нормально, а вторая, авторизация с помощью токена, возвращает ошибку 403 {"errors":[{"code":"0","status":"403","title":"Forbidden","detail":""}]} - доступ запрещен. С той стороны уверяют, что дополнительных ограничений у них нет, значит я что-то делаю нет так. Может кто сталкивался, подскажет, где я накосячил
По теме из базы знаний
Найденные решения
4. evogul 22.09.22 14:27 Сейчас в теме
(1) Все заработало. Мой косяк. В запросе не добавил /ru-ru/ :
Запрос = Новый HTTPЗапрос("/ru-ru/catalog/products",ЗаголовокЗапросаHTTP);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. evogul 22.09.22 14:27 Сейчас в теме
(1) Все заработало. Мой косяк. В запросе не добавил /ru-ru/ :
Запрос = Новый HTTPЗапрос("/ru-ru/catalog/products",ЗаголовокЗапросаHTTP);
5. igor63 22.09.22 14:31 Сейчас в теме
(1) https://reqbin.com/ Тут можешь протестить запросы удобно, и он тебе соответственно текст запроса сам составляет
6. evogul 22.09.22 16:35 Сейчас в теме
2. SanyMaga 68 21.09.22 12:38 Сейчас в теме
зачем "Bearer " +Токен - нужно просто токен
// ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " +Токен); 

 ЗаголовокЗапросаHTTP.Вставить("Authorization",Токен);
3. evogul 21.09.22 13:02 Сейчас в теме
(2) тогда возвращает ошибку 401 {"errors":[{"code":"0","status":"401","title":"Unauthorized","detail":"Your request was made with invalid credentials."}]}
NicolasCage; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот