<< Click to Display Table of Contents >> Интеграция с внешними системами > Аутентификация в сервисе интеграции Базовая аутентификация учетной записи |
Настройка внешней системы: не требуется.
Настройка сервиса интеграции: не требуется.
Формат HTTP-запроса: чтобы HTTP-запрос прошел базовую аутентификацию, настройте заголовки одним из способов:
•используйте стандартный заголовок Authorization;
•используйте заголовки Username и Password.
В заголовок Authorization поместите логин и пароль пользователя в формате Basic username:password. Часть username:password должна быть закодирована в формате Base64 на стороне внешней системы.
Пример HTTP-запроса:
GET /Integration/odata/$metadata HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
В заголовке Authorization dXNlcm5hbWU6cGFzc3dvcmQ= – это имя пользователя и пароль (username:password), закодированные в формат Base64.
Пример аналогичного запроса, написанного на языке C#:
var requestUrl = "https://localhost/Integration/odata/$metadata/";
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
// Формирование заголовка Authorization.
var scheme = "Basic";
var authParams = @"Administrator:11111";
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(authParams);
var base64AuthParams = System.Convert.ToBase64String(plainTextBytes);
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(scheme, base64AuthParams);
// Создание запроса.
var httpClient = new HttpClient();
var responce = await httpClient.SendAsync(request);
if (responce.IsSuccessStatusCode)
{
Console.WriteLine("OK");
}
else
{
Console.WriteLine($"Error: responce status code '{responce.StatusCode}'");
}
В заголовки Username и Password поместите логин пользователя и пароль.
Пример HTTP-запроса:
GET /Integration/odata/$metadata HTTP/1.1
Host: DirectumRXServer.com
Content-Type: application/json
Username: {логин пользователя}
Password: {пароль пользователя}
Content-Type: application/json
Accept: application/json
Пример аналогичного запроса, написанного на языке C#:
var requestUrl = "https://localhost/Integration/odata/$metadata/";
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
// Добавление заголовков для авторизации.
request.Headers.Add("username", "Administrator");
request.Headers.Add("password", "11111");
// Создание запроса.
var httpClient = new HttpClient();
var responce = await httpClient.SendAsync(request);
if (responce.IsSuccessStatusCode)
{
Console.WriteLine("OK");
}
else
{
Console.WriteLine($"Error: responce status code '{responce.StatusCode}'");
}
© Компания Directum, 2024 |