Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавлены конструкторы авторизации #128

Merged
merged 1 commit into from
Dec 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading