Commit e076a09e authored by Valentin Skripnikov's avatar Valentin Skripnikov

-

parent bda2fbf5
Внешние модули-компоненты Внешний модуль-компонент
========================= ========================
Механизм :abbr:`ВМК (внешний модуль-компонент)` предназначен для добавления Механизм :abbr:`ВМК (внешний модуль-компонент)` предназначен для добавления
или замены каких-либо элементов пользовательского web-интерфейса ARTA Synergy. или замены каких-либо элементов пользовательского web-интерфейса ARTA Synergy.
......
...@@ -425,7 +425,7 @@ REST API ARTA Synergy доступно только авторизованным ...@@ -425,7 +425,7 @@ REST API ARTA Synergy доступно только авторизованным
<?php <?php
$login = "Administrator"; $login = "Administrator";
$password = "123456" $password = "123456";
$request = new HttpRequest(); $request = new HttpRequest();
$request->setUrl('http://demo.arta.kz/Synergy/rest/api/admin/db/current_version'); $request->setUrl('http://demo.arta.kz/Synergy/rest/api/admin/db/current_version');
...@@ -464,20 +464,72 @@ REST API ARTA Synergy доступно только авторизованным ...@@ -464,20 +464,72 @@ REST API ARTA Synergy доступно только авторизованным
| Значение заголовка | ``Basic JHNlc3Npb246RDNST05mQzUyZHRKTzVYZ0R5bjVxVU12`` | | Значение заголовка | ``Basic JHNlc3Npb246RDNST05mQzUyZHRKTzVYZ0R5bjVxVU12`` |
+-----------------------+--------------------------------------------------------+ +-----------------------+--------------------------------------------------------+
Кроме того, получить параметры авторизации можно с помощью переменной Получить значение ``sso_hash`` авторизованного пользователя можно
окружения основного WEB-приложения Synergy: следующими способами:
* ``$CURRENT_USER`` - представляет собой JSON-объект следующего вида: #. В случае если приложение представляет собой `Внешний WEB-модуль`_, получить
значение ``sso_hash`` можно из строки запроса.
.. code-block:: json Пример кода на JavaScript (jQuery):
{ .. code-block:: js
"id": "Идентификатор текущего пользователя", :emphasize-lines: 13
"sso_hash": "hash-сумма для идентификации пользователя",
"surname": "Фамилия текущего пользователя", function getURLParameter(name) {
"name": "Имя текущего пользователя", return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)')
"patronymic": "Отчество текущего пользователя" .exec(location.search) || [null, ''])[1]
} .replace(/\+/g, '%20')) || null;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "http://demo.arta.kz/Synergy/rest/api/admin/db/current_version",
"method": "GET",
"headers": {
"authorization": ("Basic " + btoa("$session" + ":" + getURLParameter('sso_hash')))
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
#. С помощью переменной окружения основного WEB-приложения Synergy``$CURRENT_USER``,
которая представляет собой JSON-объект следующего вида:
.. code-block:: json
{
"id": "Идентификатор текущего пользователя",
"sso_hash": "hash-сумма для идентификации пользователя",
"surname": "Фамилия текущего пользователя",
"name": "Имя текущего пользователя",
"patronymic": "Отчество текущего пользователя"
}
Пример кода на JavaScript (jQuery):
.. code-block:: js
:emphasize-lines: 7
var settings = {
"async": true,
"crossDomain": true,
"url": "http://demo.arta.kz/Synergy/rest/api/admin/db/current_version",
"method": "GET",
"headers": {
"authorization": ("Basic " + btoa("$session" + ":" + $CURRENT_USER.sso_hash))
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
.. note:: Данный способ можно использовать только если код исполняется
в основном приложении Synergy. Например, приложение представляет
собой `Внешний модуль-компонент`_.
Авторизация по ключам Авторизация по ключам
...@@ -526,3 +578,6 @@ REST API ARTA Synergy доступно только авторизованным ...@@ -526,3 +578,6 @@ REST API ARTA Synergy доступно только авторизованным
+---------------------+------------------------------------------------------------------------------------------------------------------------+ +---------------------+------------------------------------------------------------------------------------------------------------------------+
| Значение заголовка | ``Basic JGtleTpNUzAzWTJRMFpHVTNZUzB6WWpSa0xUUTJOamd0WVdJeU9DMHpaREkxWXpneFpHTm1PR1pmTWpBeE15MHhNQzB6TVNBeE56bzBNZz09`` | | Значение заголовка | ``Basic JGtleTpNUzAzWTJRMFpHVTNZUzB6WWpSa0xUUTJOamd0WVdJeU9DMHpaREkxWXpneFpHTm1PR1pmTWpBeE15MHhNQzB6TVNBeE56bzBNZz09`` |
+---------------------+------------------------------------------------------------------------------------------------------------------------+ +---------------------+------------------------------------------------------------------------------------------------------------------------+
Внешний WEB-модуль
------------------
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment