Szablony autoryzacji umożliwiają zdefiniowanie wspólnej metody autoryzacji dla wielu źródeł danych typu RESTful API.

Zapisany szablon można wykorzystywać wielokrotnie przy konfiguracji kolejnych źródeł danych komunikujących się z tym samym systemem API.

Tworzenie szablonu autoryzacji:

Aby utworzyć autoryzację należy wybrać na formularzu źródła danych przycisk "Utwórz szablon autoryzacji":

Następnie pojawi się okienko z konfiguracją szablonu autoryzacji:

Opis konfiguracji szablonu autoryzacji:

Nazwa parametruOpisWymagalność
SzablonPozwala na uzupełnienie pól konfiguracji jednym z wcześniej zapisanych szablonów w celu przyspieszenia konfiguracji wielu podobnych szablonów.Nie dotyczy
IdUnikalne id szablonu autoryzacji.Wymagany
NazwaWyświetlana nazwa szablonu autoryzacji.Wymagany
OpisWyświetlany opis szablonu autoryzacji.Wymagany
Rodzaj autoryzacjiPozwala na wybranie jednego z dostępnych rodzajów autoryzacji, obsługiwanych przez wtyczkę. Po wybraniu rodzaju autoryzacji na formularzu pojawią się dodatkowe pola konfiguracyjne specyficzne dla niego. Lista dostępnych rodzajów autoryzacji zamieszczona została poniżej.Wymagany


Dostępne rodzaje autoryzacji:

 

Od wersji: 1.0.10 dla każdego z podanych typów autoryzacji istnieje możliwość dynamicznego przekazywania wartości konfiguracyjnych poprzez parametry wejściowe źródła. W takim przypadku należy jako wartość podać: {param}, gdzie param to id parametru wejściowego źródła.

 

API Key

Szablon autoryzacji API Key umożliwia dodanie do każdego żądania stałego klucza API. Klucz może zostać dodany do adresu URL w formacie ?klucz=wartość lub do nagłówka w formacie { headers: { klucz: wartość } }

Opis konfiguracji:

Nazwa parametruOpisWymagalność
KluczKlucz parametru URL lub nazwa nagłówka (w zależności od parametru "Dodaj do")Wymagany
WartośćWartość parametru URL lub wartość nagłówka (w zależności od parametru "Dodaj do")Wymagany
Dodaj doOkreśla czy klucz ma zostać dodany do żądania jako parametr adresu URL czy jako nagłówek.Wymagany

Przykłady konfiguracji:

 

KonfiguracjaWynik

Doda do adresu URL żądania, podanego w konfiguracji źródła parametr ?token=ASDF

Np. http://localhost:8080 => http://localhost:8080?token=ASDF

Doda do żądania nagłówek "API-KEY: someConstantToken"

Basic Auth

Szablon autoryzacji Basic Auth umożliwia dodanie do każdego żądania nagłówka Basic Auth w postaci: Authorization: Basic {credentials}, gdzie {credentials} to wartość Base64 obliczana z ciągu: {Użytkownik}:{Hasło}.

Opis konfiguracji:

Nazwa parametruOpisWymagalność
UżytkownikNazwa użytkownika zarejestrowanego w APIWymagany
HasłoHasło użytkownikaWymagany

Bearer Token

Szablon autoryzacji Bearer Token umożliwia dodanie do każdego żądania nagłówka Basic Auth w postaci: Authorization: Bearer {token}

Opis konfiguracji:

Nazwa parametruOpisWymagalność
Źródło tokenaLista rozwijana. Dostępne wartości: "Źródło danych", "Wartość stała".Wymagany
TokenWartość tokenu, który ma być podstawiony do nagłówka.Wymagany (dla "Źródło tokena" == "Wartość stała")
ID źródłaID źródla, które ma zwracać wartość (pobierana jest pierwsza zwracana przez źródło wartość).Wymagany (dla "Źródło tokena" == "Źródło danych")
Parametry źródłaParametry wejściowe źródła w postaci: "parametr_1=wartość_1, parametr_2=wartość_2".Opcjonalny

Cookie

Szablon autoryzacji Cookie umożliwia dodanie do każdego żądania ciasteczka wymaganego do autoryzacji żądania.

Opis konfiguracji:

Nazwa parametruOpisWymagalność
Metoda HTTPMetoda HTTP, która ma zostać użyta w żądaniu; możliwe wartości: [GET, POST]Wymagany
URLAdres URL pod który wysłane zostanie żądanie w celu otrzymania ciasteczka z APIWymagany
Content-TypeDostępny tylko po wybraniu metody POST. Dostępne wartości: application/json, application/x-www-form-urlencoded, multipart/form-dataWymagany
ParametryDostępny tylko po wybraniu metody POST. Parametry przekazywane w ciele żądania.Opcjonalny

Przykłady konfiguracji:

KonfiguracjaWynik
Dołączy do żądań ze źródła danych ciasteczko autoryzacyjne z systemu PlusWorkflow
Dołączy do żądań ze źródła danych ciasteczko autoryzacyjne z systemu PlusWorkflow

OAuth2

Szablon autoryzacji OAuth2 umożliwia dodanie do każdego żądania tokena OAuth w postaci odpowiedniego nagłówka lub parametru adresu URL.

Opis konfiguracji:

Nazwa parametruOpisWymagalność
Grant type

Określa czy żądanie autoryzujące ma zawierać tylko sekrety klienta, czy również informacje o użytkowniku. Dostępne wartości:

  • Client credentials - tylko sekrety klienta
  • Password credentials - sekrety klienta + informacje o użytkowniku
Wymagany
Access Token URLAdres URL, pod który wysłane zostanie żądanieWymagany
UsernameNazwa użytkownika. Dostępny jedynie w przypadku, gdy parametr "Grant type" ustawiony zostanie na wartość "Password credentials"Wymagany
PasswordHasło użytkownika. Dostępny jedynie w przypadku, gdy parametr "Grant type" ustawiony zostanie na wartość "Password credentials"Wymagany
Client IDhttps://www.oauth.com/oauth2-servers/client-registration/client-id-secret/Wymagany
Client Secrethttps://www.oauth.com/oauth2-servers/client-registration/client-id-secret/Wymagany
ScopeOpcjonalny parametr określający do jakich zasobów ma zostać udzielony dostęp. Wartość parametru zależy od konkretnego rozwiązania API, do którego łączyć się będzie źródło danychOpcjonalny
ResourceOpcjonalny parametr określający do jakich zasobów ma zostać udzielony dostęp. Wartość parametru zależy od konkretnego rozwiązania API, do którego łączyć się będzie źródło danychOpcjonalny
Autoryzacja klienta

Określa w jaki sposób mają zostać przekazane dane autoryzujące (sekrety klienta). Dostępne wartości:

  • Wyślij jako nagłówek Basic Auth,
  • Wyślij jako dane formularza w ciele żądania
Wymagany
Dodaj dane autoryzujące do

Określa w jaki sposób ma być przekazywany token autoryzujący (otrzymany w odpowiedzi na żądanie autoryzujące) przy kolejnych wywołaniach API. Dostępne wartości:

  • Nagłówka żądania
  • URL-a żądania
Wymagany

Przykład konfiguracji:

NTLM

Szablon autoryzacji umożliwia dodanie do nagłówka żądania autoryzacji w standardzie NTLM (https://en.wikipedia.org/wiki/NTLM).

Opis konfiguracji

Nazwa parametruOpisWymagalność
UżytkownikNazwa użytkownika, który próbuje uzyskać dostęp do zasobu chronionego. Może to być np. login konta w systemie Windows.Tak
HasłoHasło dla podanego użytkownika. W NTLM, hasło nie jest przesyłane bezpośrednio przez sieć, ale jest używane do generowania skrótu (hash), który następnie jest używany w procesie uwierzytelniania.Tak
Domena

Nazwa domeny, w której konto użytkownika jest zarejestrowane. Może to być domena Active Directory lub lokalna nazwa komputera, jeśli użytkownik loguje się na konto lokalne.

Nie
Stacja roboczaNazwa komputera użytkownika, z którego pochodzi żądanie uwierzytelnienia.Nie

 

Modyfikacja szablonów autoryzacji

Szablony autoryzacji umożliwiają modyfikację wcześniej zapisanych szablonów. Aby tego dokonać należy na formularzy wybrać przycisk "Modyfikuj szablony autoryzacji".

Po kliknięciu ukaże się okno modyfikacji szablonu autoryzacji.

W otwartym oknie należy wybrać z listy rozwijanej zapisany szablon autoryzacji.

Po wybraniu szablonu formularz zostanie uzupełniony o dane w nim zapisane.

Po zakończeniu edycji danych należy wybrać przycisk "Modyfikuj szablon autoryzacji" w celu zapisania szablonu ze zmianami.

Nieużywany szablon można również usunąć z bazy za pomocą przycisku "Usuń".

Authorization templates allow you to define a common authorization method for many RESTful API datasources.

The saved template can be used many times to configure subsequent datasources that communicate with the same API system.

Creating an authorization template:

To create an authorization template, select the "Create authorization template" button on the datasource form:

Then a window will appear with the configuration of the authorization template:

Description of the authorization template configuration:

Name of the parameterDescriptionOptionality
TemplateIt allows you to complete the configuration fields with one of the previously saved templates to speed up the configuration of many similar templates.Not applicable
IdUnique authorization template id.Required
NameAuthorization template display name.Required
DescriptionDisplayed description of the authorization template.Required
Authorization typeIt allows you to choose one of the available authorization types supported by the plugin. After selecting the authorization type, additional configuration fields specific to it will appear on the form. The list of available authorization types is given below.Required


Available authorization types:

 

Staritng from version 1.0.10, it is now possible to parameterize each authorization configuration using datasource input parameters. Use {param}, where param equals input parameter id to dynamically pass config param value.

 

 

API Key

The API Key authorization template allows you to add a permanent API key to each request. The key can be added to the URL in the format - ?key=value - or to the header in the format { headers: { key: value } }

Configuration description:

Name of the parameterDescriptionOptionality
KeyURL parameter key or header name (depending on the "Add to" parameter)Required
ValueURL parameter value or header value (depending on the "Add to" parameter)Required
Add toSpecifies whether to add the key to the request as a URL parameter or as a header.Required

Configuration examples:

ConfigurationResult

It will add the request parameter provided in the source configuration to the URL ?token=ASDF

Eg. http://localhost:8080 => http://localhost:8080?token=ASDF

It will add following header to the request "API-KEY: someConstantToken"

Basic Auth

The Basic Auth authorization template allows you to add a Basic Auth header to each request in the form: Authorization: Basic {credentials}, where {credentials} is the Base64 value calculated from: {Użytkownik}:{Hasło}.

Configuration description:

Name of the parameterDescriptionOptionality
UserName of the user registered in the APIRequired
PasswordUser passwordRequired

Bearer Token

The Bearer Token authorization template allows you to add a Basic Auth header to each request in the form: Authorization: Bearer {token}

Configuration description:

NameDescriptionRequirement
Token sourceDropdown list. Available options: "Datasource","Constant value".Required
TokenToken value to add in authorization header.Required (only for "Token source" == "Constant value")
Datasource IDDatasource which returns token value (first returned value is being used).Required (only for "Token source" == "Datasource")
Datasource parametersDatasource input parameters. Format: "parameter_1=value_1, parameter_2=value_2".Optional

Cookie

The Cookie authorization template allows you to add to each request the cookie required to authorize the request.

Configuration description:

Name of the parameterDescriptionOptionality
HTTP methodThe HTTP method to be used in the request; possible values: [GET, POST]Required
URLThe URL to which the request will be sent to receive cookies from the APIRequired
Content-TypeAvailable only after selecting the POST method. Available values: application/json, application/x-www-form-urlencoded, multipart/form-dataRequired
ParametersAvailable only after selecting the POST method. Parameters passed in the body of the request.Optional

Configuration examples:

ConfigurationResult
It will attach the authorization cookie from the PlusWorkflow system to requests from the datasource
It will attach the authorization cookie from the PlusWorkflow system to requests from the datasource

 

OAuth2

The OAuth2 authorization template allows you to add an OAuth token to each request as the appropriate header or URL parameter.

Configuration description:

Name of the parameterDescriptionOptionality
Grant type

Specifies whether the authorization request should contain only client secrets or client secrets + user credentials. Available values:

  • Client credentials - only client secrets
  • Password credentials - client secrets + user credentials
Required
Access Token URLURL to which the request will be sentRequired
UsernameUsername. Available only when the "Grant type" parameter is set to "Password credentials"Required
PasswordUser password. Available only when the "Grant type" parameter is set to "Password credentials"Required
Client IDhttps://www.oauth.com/oauth2-servers/client-registration/client-id-secret/Required
Client Secrethttps://www.oauth.com/oauth2-servers/client-registration/client-id-secret/Required
ScopeAn optional parameter that specifies which resources to grant access to. The value of the parameter depends on the specific API solution to which the data source will be connectedOptional
ResourceAn optional parameter that specifies which resources to grant access to. The value of the parameter depends on the specific API solution to which the data source will be connectedOptional
Client authorization

Specifies how authorization data (customer secrets) are to be transmitted. Available values:

  • Send as Basic Auth header,
  • Send client credentials in body
Required
Add authorization data to

Specifies how the authorization token (received in response to the authorization request) is to be forwarded on subsequent API calls. Available values:

  • Request Header
  • Request URL
Required

Configuration example:

NTLM

The NTLM (https://en.wikipedia.org/wiki/NTLM) authorization template.

Configuration

Parameter nameDescriptionRequired
UsernameThe name of the user trying to access a protected resource. This can be, for example, a Windows account login.Yes
PasswordThe user's password associated with their account. The password is used to verify the user's identity. In NTLM, the password is not sent directly over the network but is used to generate a hash, which is then used in the authentication process.Yes
DomainThe name of the domain in which the user account is registered. This can be an Active Directory domain or the local computer name if the user is logging into a local account.No
WorkstationThe name of the user's computer from which the authentication request originates.No

 

Modification of authorization templates

Authorization templates allow you to modify previously saved templates. To do this, select the "Modify authorization" button on the form.

After clicking, the authorization template modification window will appear.

In the opened window, select the saved authorization template from the drop-down list.

After selecting the template, the form will be filled with the data saved in it.

After editing the data, select the "Modify authorization" button to save the template with changes.

The unused template can also be removed from the database using the "Delete" button.