Vytvorenie a nastavenie vlastného konektora
V Power Automate na komunikáciu s CDESK serverom je potrebné používať Custom Connector. Custom Connector v Power Automate je používateľom definovaný konektor, ktorý umožňuje Power Automate komunikovať s externými systémami alebo API, v tomto prípade CDESK API.
1. Vo webovom rozhraní Power Automate po prihlásení kliknite v ľavom menu na tlačidlo More.
2. Zobrazí sa menu s výberom možností, pokiaľ nevidíte tlačidlo Custom connectors kliknite na Discover all.
3. V menu Discover all nájdete Custom connector pod zoznamom Data.
4. V menu pre Custom connectors, kliknite na New custom connector, a následne kliknite na Create from blank.
5. Po vytvorení konektora je potrebné vyplniť základné údaje o pripojení.
V tabe General je potrebné vyplniť povinné polia nasledovne:
- Scheme: HTTPS
- Host: Adresa Vášho CDESK servera bez protokolu
- Base URL: /api (preddefinovaný endpoint pre API na strane CDESK servera)
Nastavenie konektora na strane CDESK
V menu nastavenia konektora je potrebné vygenerovať náhodný Podpisovací kľúč. Kľúč je možné vygenerovať stlačením tlačidla na pravej strane poľa. Po vygenerovaní kľúča si ho skopírujte 
Nastavenie autentifikácie v Power Automate
Po vytvorení prepojenia Oauth 2.0 v CDESK je potrebné konfigurovať autentifikáciu voči CDESK konektoru na strane Power Automate.
- V tabe 2. Security nastavenia Power Automate konektora zvolíte metódu autentifikácie na Oauth 2.0, Identity provider ponecháte na Generic Oauth 2.
- Do poľa Client Secret vložíte Podpisovací Kľúč, ktorý ste vytvorili na strane CDESK v konektoroch.
- Pole Client secret označuje identifikátor používateľa v systéme CDESK, pod ktorým sa bude konektor autentifikovať a vykonávať jednotlivé akcie
- Z bezpečnostného hľadiska sa dôrazne odporúča vytvoriť v CDESK samostatného API používateľa, ktorý bude mať pridelené iba minimálne nevyhnutné oprávnenia potrebné na vykonávanie konkrétnych operácií. Týmto spôsobom sa znižuje riziko neoprávneného prístupu k citlivým údajom a obmedzuje sa rozsah možných dopadov v prípade kompromitácie prihlasovacích údajov.
- ID používateľa nájdete v CDESK v sekcii profil.
- Pole protokolu Oauth – ponechajte na Generic Oauth 2
- Client ID – Vložte ID používateľa v CDESK, pod ktorým bude Power Automate pracovať
- Client secret – Podpisovací Kľúč vygenerovaný na strane CDESK
- Authorization URL – URL adresa autorizačného endpointu OAuth 2.0, na ktorú je používateľ presmerovaný za účelom schválenia prístupu. Vždy {URL} /api/auth/oauthauthorize (URL značí adresu Vášho CDESK servera).
- Token URL – URL adresa tokenového endpointu, ktorý slúži na výmenu autorizačného kódu za access token. Vždy {URL} /api/auth/oauthlogin.
- Refresh URL – URL adresa endpointu používaného na obnovenie prístupového tokenu po jeho exspirácii. Vždy {URL} /api/auth/oauthlogin.
- Scope – Rozsah oprávnení, ktoré konektor požaduje počas autentifikácie. Oprávnenia sú riešené na strane CDESK servera, toto pole môže zostať prázdne.
Po nastavení korektných hodnôt kliknite na tlačidlo Update Connector pre uloženie zmien.
Nastavenie spracovania Autentifikácie na strane Power Automate
Z dôvodu kompatibility s autentifikačným mechanizmom CDESK je potrebné na strane Power Automate použiť vlastný skript, ktorý upravuje formát autorizačnej hlavičky HTTP požiadavky.
Power Automate pri použití OAuth 2.0 štandardne odosiela prístupový token v hlavičke:
- Authorization: Bearer <access_token>
CDESK API však očakáva token v nasledovnom formáte:
- Authorization: apitoken<access_token>
Z tohto dôvodu je nutné použiť nasledujúci skript v sekcii Code vlastného konektora, ktorý zabezpečí transformáciu autorizačnej hlavičky pred odoslaním požiadavky na CDESK server:
public class Script: ScriptBase
{
public override async Task<HttpResponseMessage> ExecuteAsync()
{
var authHeader = this.Context.Request.Headers.GetValues(„Authorization“).First();
var token = authHeader.Replace(„Bearer“,““);
this.Context.Request.Headers.Add(„Authorization“,$“apitoken{token}“);
return await this.Context.SendAsync(this.Context.Request, this.CancellationToken);
}
}
Pre vloženie kódu je potrebné povoliť prepínač Code Enabled. Následne je možné vložiť kód do priľahlého textového poľa.
Dbajte na to, aby v rozbaľovacom zozname operácií nebola vybraná žiadna konkrétna akcia. V tomto stave sa kód aplikuje globálne, teda na každý vytvorený programový blok vlastného konektora.
Po vložení kódu kliknite na tlačidlo Update Connector pre uloženie zmien.
V tomto stave je vlastný konektor plne pripravený na pridávanie, konfiguráciu a testovanie jednotlivých programových blokov a požadovaných funkcií.