Vytvoření a nastavení vlastního konektoru
V Power Automate je pro komunikaci se serverem CDESK nutné použít Custom Connector. Vlastní konektor v Power Automate je konektor definovaný uživatelem, který umožňuje Power Automate komunikovat s externími systémy nebo API, v tomto případě s API CDESK.
1. Po přihlášení do webového rozhraní Power Automate klikněte v levém menu na tlačítko More.
2. Zobrazí se menu s výběrem možností; pokud nevidíte tlačítko Custom connectors, klikněte na Discover all.
3. V menu Discover all najdete Custom connector pod seznamem Data.
4. V menu pro Custom connectors klikněte na New custom connector, a následně klikněte na Create from blank.
5. Po vytvoření konektoru je nutné vyplnit základní údaje o připojení.
V záložce General je nutné vyplnit povinná pole následovně:
- Scheme: HTTPS
- Host: Adresa vašeho serveru CDESK bez protokolu
- Base URL: /api (předdefinovaný endpoint pro API na straně serveru CDESK)
Nastavení konektoru na straně CDESK
V nabídce nastavení konektoru je třeba vygenerovat náhodný podpisový klíč. Klíč lze vygenerovat stisknutím tlačítka na pravé straně pole. Po vygenerování klíče si jej zkopírujte . Konektoru dejte výstižný název a klikněte na tlačítko Vytvořit.
Nastavení ověřování v Power Automate
Po vytvoření propojení Oauth 2.0 v CDESK je nutné konfigurovat autentifikaci vůči CDESK konektoru na straně Power Automate.
- V záložce 2. Security nastavení Power Automate konektoru zvolíte metodu autentifikace na Oauth 2.0, Identity provider ponecháte na Generic Oauth 2.
- Do pole Client Secret vložíte podpisový klíč, který jste vytvořili na straně CDESK v konektorech.
- Pole Client secret označuje identifikátor uživatele v systému CDESK, pod kterým se bude konektor autentizovat a vykonávat jednotlivé akce
- Z bezpečnostního hlediska se důrazně doporučuje vytvořit v CDESK samostatného API uživatele, který bude mít přidělena pouze minimální nezbytná oprávnění potřebná k vykonávání konkrétních operací. Tímto způsobem se snižuje riziko neoprávněného přístupu k citlivým údajům a omezuje se rozsah možných dopadů v případě kompromitace přihlašovacích údajů.
- ID uživatele najdete v CDESK v sekci profil.
- Pole protokolu Oauth – ponechte na Generic Oauth 2
- Client ID – Vložte ID uživatele v CDESK, pod kterým bude Power Automate pracovat
- Client secret – Podpisový klíč vygenerovaný na straně CDESK
- Authorization URL – URL adresa autorizačního endpointu OAuth 2.0, na kterou je uživatel přesměrován za účelem schválení přístupu. Vždy {URL} /api/auth/oauthauthorize (URL označuje adresu vašeho CDESK serveru).
- Token URL – URL adresa tokenového endpointu, který slouží k výměně autorizačního kódu za access token. Vždy {URL} /api/auth/oauthlogin.
- Refresh URL – URL adresa endpointu používaného k obnovení přístupového tokenu po jeho expiraci. Vždy {URL} /api/auth/oauthlogin.
- Scope – Rozsah oprávnění, která konektor vyžaduje během autentifikace. Oprávnění jsou řešena na straně CDESK serveru, toto pole může zůstat prázdné.
Po nastavení správných hodnot klikněte na tlačítko Update Connector pro uložení změn.
Nastavení zpracování ověřování na straně Power Automate
Z důvodu kompatibility s autentizačním mechanismem CDESK je nutné na straně Power Automate použít vlastní skript, který upravuje formát autorizační hlavičky HTTP požadavku.
Power Automate při použití OAuth 2.0 standardně odesílá přístupový token v hlavičce:
- Authorization: Bearer <access_token>
Rozhraní CDESK API však očekává token v následujícím formátu:
- Authorization: apitoken < access_token >
Z tohoto důvodu je nutné použít následující skript v sekci Code vlastního konektoru, který zajistí transformaci autorizační hlavičky před odesláním požadavku 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í.