mirror of
https://github.com/vbondarevsky/Connector.git
synced 2024-11-21 17:36:49 +02:00
Добавил возможность bearer-аутентификации
This commit is contained in:
parent
715deebc62
commit
5ff187da33
@ -279,6 +279,14 @@ Json.Вставить("field2", "value2");
|
||||
Результат = КоннекторHTTP.GetJson("https://user:pass@httpbin.org/basic-auth/user/pass");
|
||||
```
|
||||
|
||||
## Bearer-аутентификация
|
||||
Параметры bearer-аутентификации можно передать в параметре `ДополнительныеПараметры.Аутентификация`.
|
||||
При этом `Тип` нужно установить в значение `Bearer` и задать свойство `Токен`.
|
||||
|
||||
```bsl
|
||||
Аутентификация = Новый Структура("Токен, Тип", "exampleBearerToken_abc1234", "Bearer");
|
||||
```
|
||||
|
||||
## Digest-аутентификация
|
||||
Параметры Digest-аутентификации можно передать в параметре `ДополнительныеПараметры.Аутентификация`.
|
||||
При этом `Тип` нужно установить в значение `Digest`.
|
||||
|
@ -1514,6 +1514,9 @@ Procedure PrepareAuthentication(PreparedRequest)
|
||||
If AuthenticationType = "aws4-hmac-sha256" Then
|
||||
PrepareAuthenticationAWS4(PreparedRequest);
|
||||
EndIf;
|
||||
If AuthenticationType = "bearer" Then
|
||||
PrepareAuthenticationBearer(PreparedRequest);
|
||||
EndIf;
|
||||
EndIf;
|
||||
EndIf;
|
||||
|
||||
@ -2467,6 +2470,16 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
Procedure PrepareAuthenticationBearer(PreparedRequest)
|
||||
|
||||
If Not PreparedRequest.Authentication.Property("Token") Or Not ValueIsFilled(PreparedRequest.Authentication.Token) Then
|
||||
// token is empty
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
PreparedRequest.Headers.Insert("Authorization", StrTemplate("Bearer %1", PreparedRequest.Authentication.Token));
|
||||
|
||||
EndProcedure
|
||||
#Region EncodingDecodingData
|
||||
|
||||
#Region ServiceStructuresZip
|
||||
|
@ -1364,7 +1364,10 @@
|
||||
ПодготовленныйЗапрос.СобытияНаОтвет.Добавить("ОбработкаОтветаСКодом401");
|
||||
КонецЕсли;
|
||||
Если ТипАутентификации = "aws4-hmac-sha256" Тогда
|
||||
ПодготовитьАутентификациюAWS4(ПодготовленныйЗапрос);
|
||||
ПодготовитьАутентификациюAWS4(ПодготовленныйЗапрос);
|
||||
КонецЕсли;
|
||||
Если ТипАутентификации = "bearer" Тогда
|
||||
ПодготовитьАутентификациюBearer(ПодготовленныйЗапрос);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@ -2748,7 +2751,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
#КонецОбласти
|
||||
|
||||
Процедура ПодготовитьАутентификациюBearer(ПодготовленныйЗапрос)
|
||||
|
||||
Если Не ПодготовленныйЗапрос.Аутентификация.Свойство("Токен") или не ЗначениеЗаполнено(ПодготовленныйЗапрос.Аутентификация.Токен) Тогда
|
||||
// Токен не заполнен.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПодготовленныйЗапрос.Заголовки.Вставить("Authorization", СтрШаблон("Bearer %1", ПодготовленныйЗапрос.Аутентификация.Токен));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
#Область КодированиеДекодированиеДанных
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user