Skip to content

Commit

Permalink
fixes #101 добавлены конструкторы авторизации
Browse files Browse the repository at this point in the history
  • Loading branch information
Тимур Кашафутдинов committed Dec 28, 2023
1 parent 735bd71 commit 9780180
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 3 deletions.
79 changes: 78 additions & 1 deletion src/ru/CommonModules/КоннекторHTTP/Ext/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
//
// URL: https://github.com/vbondarevsky/Connector
// e-mail: vbondarevsky@gmail.com
// Версия: 2.4.8
// Версия: 2.5.0
//
// Требования: платформа 1С версии 8.3.10 и выше

Expand Down Expand Up @@ -537,6 +537,83 @@

КонецФункции


// Конструктор аутентификации операционной системы
//
// Возвращаемое значение:
// Структура:
// * ИспользоватьАутентификациюОС - Строка - включает использование аутентификации NTLM или Negotiate.
//
Функция НоваяАутентификацияОС() Экспорт

Результат = Новый Структура;
Результат.Вставить("ИспользоватьАутентификациюОС", Истина);

Возврат Результат;

КонецФункции


// Конструктор аутентификации Basic
//
// Возвращаемое значение:
// Структура:
// * Пользователь - Строка - имя пользователя.
// * Пароль - Строка - пароль пользователя.
//
Функция НоваяАутентификацияBasic(Пользователь = "", Пароль = "") Экспорт

Результат = Новый Структура;
Результат.Вставить("Тип", "Basic");
Результат.Вставить("Пользователь", Пользователь);
Результат.Вставить("Пароль", Пароль);

Возврат Результат;

КонецФункции

// Конструктор аутентификации Digest
//
// Возвращаемое значение:
// Структура:
// * Тип - Строка - Код типа аутентификации. Всегда "Digest".
// * Пользователь - Строка - имя пользователя.
// * Пароль - Строка - пароль пользователя.
//
Функция НоваяАутентификацияDigest(Пользователь = "", Пароль = "") Экспорт

Результат = Новый Структура;
Результат.Вставить("Тип", "Digest");
Результат.Вставить("Пользователь", Пользователь);
Результат.Вставить("Пароль", Пароль);

Возврат Результат;

КонецФункции

// Конструктор аутентификации AWS4-HMAC-SHA256
//
// Возвращаемое значение:
// Структура:
// * Тип - Строка - Код типа аутентификации. Всегда "AWS4-HMAC-SHA256".
// * ИдентификаторКлючаДоступа - Строка - идентификатор ключа доступа (AccessKey).
// * СекретныйКлюч - Строка - секретный ключ (SecretKey).
// * Сервис - Строка - сервис, к которому выполняется подключение.
// * Регион - Строка - регион, к которому выполняется подключение.
//
Функция НоваяАутентификацияAWS4(КлючДоступа = "", СекретныйКлюч = "", Сервис = "", Регион = "") Экспорт

Результат = Новый Структура;
Результат.Вставить("Тип", "AWS4-HMAC-SHA256");
Результат.Вставить("ИдентификаторКлючаДоступа", КлючДоступа);
Результат.Вставить("СекретныйКлюч", СекретныйКлюч);
Результат.Вставить("Сервис", Сервис);
Результат.Вставить("Регион", Регион);

Возврат Результат;

КонецФункции

#КонецОбласти

#КонецОбласти
Expand Down
4 changes: 2 additions & 2 deletions src/ru/DataProcessors/Тесты/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@
УтверждениеВерно(Результат["authenticated"], Истина);
УтверждениеВерно(Результат["user"], "user");

Аутентификация = Новый Структура("Пользователь, Пароль, Тип", "user", "pass", "Basic");
Аутентификация = КоннекторHTTP.НоваяАутентификацияBasic("user", "pass");
Результат = КоннекторHTTP.GetJson(
"https://connectorhttp.ru/basic-auth/user/pass",
Неопределено,
Expand All @@ -531,7 +531,7 @@
УтверждениеВерно(Результат["authenticated"], Истина);
УтверждениеВерно(Результат["user"], "user");

Аутентификация = Новый Структура("Пользователь, Пароль, Тип", "guest", "guest", "Digest");
Аутентификация = КоннекторHTTP.НоваяАутентификацияDigest("guest", "guest");
Результат = КоннекторHTTP.Get(
"https://jigsaw.w3.org/HTTP/Digest/",
Неопределено,
Expand Down

0 comments on commit 9780180

Please sign in to comment.