Přihlášení do rozhraní REST API aplikace FileMaker pomocí oAuth
V Německu se rozhraní REST API často používá v mnoha odvětvích k propojení aplikací a systémů. Obzvláště rozšířená jsou v oblasti elektronického obchodování, kde platformy jako Shopware, Magento a WooCommerce používají rozhraní API k integraci produktů, objednávek a informací o zákaznících se systémy ERP nebo platebními službami, jako jsou PayPal a Klarna. Rozhraní API se také hojně využívají ve finančním sektoru díky otevřenému bankovnictví a směrnicím PSD2, které bankám, jako jsou N26 a Deutsche Bank, umožňují bezpečný přenos dat poskytovatelům třetích stran. V logistice podporují rozhraní API poskytovatele přepravních služeb, jako jsou DHL a Hermes, při sledování zásilek a automatizaci přepravních procesů. Rozhraní API se používají také ve zdravotnictví ke správě údajů o pacientech a ve veřejné správě k digitalizaci služeb pro občany.
Připojení k ROZHRANÍ REST API na adrese FileMaker je běžným případem použití pro integraci dat z externích systémů do databází FileMakeru nebo pro odesílání dat do těchto systémů. Ověřování pro tato rozhraní REST API často probíhá prostřednictvím OAuth nebo Ověřování pomocí tokenů. Níže naleznete podrobné pokyny, jak to funguje.
FileMaker ERP s integrovaným
Rozhraní REST API
Více informací
1. Základy připojení REST API
Než začneme s ověřováním, musíme zavolat rozhraní REST API prostřednictvím funkce FileMaker. Vložení z adresy URL který se používá ve skriptu. Rozhraní REST API obvykle používají Metody HTTP jak:
GET: Získání dat z rozhraní API.POSTOdeslání dat do rozhraní API.PUTAktualizace stávajících dat.DELETEOdstranění dat.
Hlavním bodem je však Registrace API, aby bylo možné tyto metody používat.
2. HTTP-Basic-Auth
Jednou z nejjednodušších forem ověřování je HTTP-Basic-Auth. Uživatelské jméno a heslo se zadávají do Autorizace-záhlaví požadavku HTTP.
Příklad:
Nastavit proměnnou [ $username ; Hodnota: "your_username" ]
Nastavení proměnné [ $password ; Hodnota: "your_password" ]
Nastavení proměnné [ $url ; Hodnota}, "https://api.example.com/resource" ]# Zkombinujte uživatelské jméno a heslo a poté zakódujte base64.
Nastavení proměnné [ $encodedAuth ; Hodnota: Base64Encode ( $username & ":" & $password ) ]# Definice možností cURL
Nastavení proměnné [ $cURLOptions ; Hodnota:
"--header \"Authorisation: Basic " & $encodedAuth & "\"" ]
# Provést dotaz API
Vložit z adresy URL [ Výběr ; Dialog: Cíl: $response ; URL: $url ; cURL options: $cURLOptions ]
V tomto příkladu jsou uživatelské jméno a heslo převedeny na řetězec kódovaný v Base64 a uloženy jako Autorizační hlavička odesláno.
3. Ověřování OAuth 2.0
OAuth 2.0 je standardizovaný rámec, který poskytuje Přístup založený na tokenech do rozhraní API. Je k dispozici v různých tocích:
a) Tok pověření klienta
Tento tok se používá, pokud aplikace komunikuje přímo s rozhraním API a není nutná interakce uživatele. V tomto případě je Přístupový token požadované rozhraním API.
- Žádost o přístupový token: Pro získání přístupového tokenu je třeba Požadavek POST je odeslán na koncový bod tokenu rozhraní API.
Nastavit proměnnou [ $client_id ; Hodnota: "your_client_id" ]
Nastavení proměnné [ $client_secret ; Hodnota: "your_client_secret" ]
Nastavení proměnné [ $url ; Hodnota}, "https://auth.example.com/oauth/token" ]# Definice možností cURL
Nastavení proměnné [ $cURLOptions ; Hodnota:
"--data-urlencode \"client_id=" & $client_id & "\" " &
"--data-urlencode \"client_secret=" & $client_secret & "\" " &
"--data-urlencode \"grant_type=client_credentials\"" ]# Provést dotaz API
Vložení z adresy URL [ Výběr ; Dialog: ; Cíl: $response ; URL: $url ; cURL options: $cURLOptions ]Extrakce tokenu # z JSONu
Nastavení proměnné [ $accessToken ; Value: JSONGetElement ( $response ; "access_token" ) ]
- požadavek API s přístupovým tokenemPo načtení tokenu jej lze použít k ověření pomocí rozhraní API.
Nastavení proměnné [ $api_url ; Hodnota}, "https://api.example.com/protected_resource" ]# Definice možností cURL s tokenem nositele
Nastavení proměnné [ $cURLOptions ; Hodnota:
"--header \"Authorisation: Bearer " & $accessToken & "\"" ]
# Provést dotaz API
Vložení z adresy URL [ Výběr ; Dialog: ; Cíl: $api_response ; URL: $api_url ; cURL options: $cURLOptions ]
b) Tok autorizačních kódů
Tento tok se používá, když rozhraní API vyzve uživatele k ověření a udělení přístupu k aplikaci. Tento tok se obvykle skládá z následujících kroků:
- Přesměrování uživatelů na přihlašovací stránku rozhraní APIOtevře se okno prohlížeče, do kterého uživatel zadá své přístupové údaje a autorizuje aplikaci.
- Přijmout autorizační kód: Po úspěšné registraci a Autorizační kód je odeslán na adresu URL přesměrování.
- Autorizační kód pro výměnu přístupového tokenuAutorizační kód se používá k žádosti o přístupový token.
- požadavek API s přístupovým tokenemStejně jako v Tok pověření klienta přístupový token se zadává do
Autorizace-záhlaví požadavku API.
4. Ověřování pomocí tokenů (klíče API)
S Ověřování pomocí tokenů často statický Klíč API která je generována rozhraním API a používá se v aplikaci Autorizace-header nebo jako parametr URL rozhraní API.
Příklad:
Nastavení proměnné [ $api_key ; Hodnota: "your_api_key" ]
Nastavení proměnné [ $url ; Hodnota: "https://api.example.com/resource" ]# Definice možností cURL
Nastavení proměnné [ $cURLOptions ; Hodnota:
"--header \"Authorisation: Bearer " & $api_key & "\"" ]# Proveďte volání API
Vložení z adresy URL [ Výběr ; Dialog: Cílová destinace: Vypnuto: $response ; URL: $url ; cURL options: $cURLOptions ]
Případně Klíč API jsou odesílány jako parametry adresy URL:
Nastavení proměnné [ $url ; Hodnota}, "https://api.example.com/resource?api_key=your_api_key" ]
# Provést dotaz API
Vložení z adresy URL [ Výběr ; Dialog: Cílová destinace: Vypnuto: $response ; URL: $url ]5. Správa tokenů
V mnoha rozhraních API je Přístupový token po určité době. Zde a Token Refresh lze použít k získání nového přístupového tokenu, aniž by se uživatel musel znovu ověřovat.
Nastavení proměnné [ $refresh_token ; Hodnota: "your_refresh_token" ]
Nastavení proměnné [ $url ; Hodnota}, "https://auth.example.com/oauth/token" ]
# Definice možností cURL pro obnovení tokenu
Nastavení proměnné [ $cURLOptions ; Hodnota:
"--data-urlencode \"refresh_token=" & $refresh_token & "\" " &
"--data-urlencode \"client_id=" & $client_id & "\" " &
"--data-urlencode \"client_secret=" & $client_secret & "\" " &
"--data-urlencode \"grant_type=refresh_token\"" ]
# Provést obnovení tokenu
Vložení z adresy URL [ Výběr ; Dialog: Cílová destinace: Vypnuto: $response ; URL: $url ; cURL options: $cURLOptions ]
# Výpis nového přístupového tokenu z odpovědi JSON
Nastavení proměnné [ $new_accessToken ; HodnotaJSONGetElement ( $response ; "access_token" ) ]
gFM-Business Open Source FileMaker Basis-ERP
Software pro rychlokurz
Stáhnout zdarma
Přihlášení pomocí OAuth jako vlastní funkce FileMakeru
Aby bylo možné Vlastní funkce FileMakeru který provádí přihlášení k rozhraní REST API a podporuje různé metody ověřování, například Basic Auth, OAuth2 nebo klíče API prostřednictvím parametrů, můžeme využít flexibilitu aplikace FileMaker. Funkce by měla dynamicky přijímat všechny relevantní parametry a generovat správný formát v závislosti na typu ověření. Funkce vyžaduje bezplatnou aplikaci FileMaker Plugin BaseElementsprotože FileMaker má funkci Vložení z adresy URL není podporována samostatnou funkcí.
Základní myšlenka:
Vlastní funkce by měla být řízena pomocí parametrů, které obsahují adresu URL rozhraní API, typ ověřování a potřebné údaje, jako je uživatelské jméno, heslo, ID klienta, klientské tajemství nebo token. Funkce pak provede ověření a odešle přihlašovací údaje do rozhraní API ve správné podobě.
Struktura funkce:
Parametry:
apiURL: Adresa URL rozhraní REST API.authTypeTyp ověření (např. "Basic", "OAuth2", "API-Key").uživatelské jménoUživatelské jméno pro základní autentizaci.hesloHeslo pro základní autentizaci.clientIDID klienta pro OAuth2.clientSecretKlientské tajemství pro OAuth2.tokentoken API nebo přístupový token OAuth2.extraParamsDalší parametry požadavku (např.grant_typepro OAuth2).
Příklad vlastní funkce:
/*
Název funkce: API_Login
Parametry:
apiURL (Text) - Adresa URL rozhraní API
authType (Text) - Typ ověření (Basic, OAuth2, klíč API).
user (text) - jméno uživatele (pro Basic Auth nebo OAuth2).
password (Text) - Heslo (pro Basic Auth nebo OAuth2)
clientID (Text) - ID klienta (pro OAuth2)
clientSecret (Text) - Tajemství klienta (pro OAuth2)
token (text) - Přístupový token (pro klíč API nebo OAuth2)
extraParams (Text) - Další parametry (pro OAuth2)
Návraty:
Odpověď z rozhraní API nebo chybová zpráva
*/
SetVar ( [
//
Konfigurační proměnné
url = apiURL;
authMethod = authType;
basicAuthHeader = "Authorisation: Basic " & Base64Encode(user & ":" & password);
tokenAuthHeader = "Authorisation: Bearer " & token;
// Příprava dat pro tok pověření klienta OAuth2
oauthData = "client_id=" & clientID & "&client_secret=" & clientSecret & "&grant_type=client_credentials";
// Nastavení možností cURL v závislosti na typu ověřování
cURL_Options =
Pokud(
authMethod = "Basic"; basicAuthHeader;
authMethod = "OAuth2"; "";
authMethod = "API-Key"; tokenAuthHeader;
""
);
// Odeslání požadavku v závislosti na metodě ověřování
result = If(
authMethod = "Basic"; BE_HTTP_GET(url; cURL_Options);
authMethod = "OAuth2"; BE_HTTP_POST(url; oauthData; "Content-Type: application/x-www-form-urlencoded");
authMethod = "API-Key"; BE_HTTP_GET(url; cURL_Options); "Invalid Auth Method" ) ];
// Vrátit výsledek dotazu API
výsledek
)
Funkčnost:
- Funkce zkontroluje, který typ ověřování se používá (
Základní,OAuth2,Klíč API). - V závislosti na typu ověřování se liší Možnosti cURL vygenerované:
- Základní autorizace: Uživatelské jméno a heslo jsou převedeny na řetězec v kódování Base64 a uloženy do souboru.
Autorizace-záhlaví je odesláno. - Tok pověření klienta OAuth2V těle požadavku je odesláno ID klienta a klientský klíč pro získání přístupového tokenu.
- Klíč API nebo přístupový token OAuth2: Token je přímo rozpoznán jako
Nosič-token je odeslán v záhlaví.
- Základní autorizace: Uživatelské jméno a heslo jsou převedeny na řetězec v kódování Base64 a uloženy do souboru.
- Vlastní funkce používá pro připojení k serveru funkce HTTP Get a Put zásuvného modulu BaseElements společnosti FileMaker, protože funkce
Vložení z adresy URL-funkci nepodporuje FileMaker ve svých vlastních funkcích, ale pouze ve skriptech.
Příklad volání:
API_Login(
"https://api.example.com/login",
"Základní",
"myUsername",
"myPassword",
"",
"",
""
)
Možnosti rozšíření:
- Řešení chybFunkci lze rozšířit tak, aby rozpoznávala chybové kódy z rozhraní API a vracela odpovídající zprávy.
- Obnovení žetonuPokud platnost přístupového tokenu vyprší, lze funkci rozšířit tak, aby si automaticky vyžádala nový token.
- Podpora dalších toků OAuth2: Kód by mohl být rozšířen tak, aby Tok autorizačních kódů a Tok udělování hesel být podporovány.
Tato vlastní funkce nabízí flexibilní způsob integrace různých mechanismů ověřování s rozhraním REST API v aplikaci FileMaker a lze ji snadno přizpůsobit konkrétním požadavkům.
Čtyři platformy FileMaker ERP pro optimalizaci provozních procesů k nákupu a pronájmu.
Vyžádat si informace
Často kladené otázky o FileMakeru a REST-API s oAuth
- Co je to OAuth a proč se používá pro přihlašování k rozhraní REST API?
- OAuth je otevřený standardní protokol, který se používá pro bezpečné autorizování přístupu k rozhraní API. Umožňuje aplikacím, jako je FileMaker, přistupovat k chráněným zdrojům API, aniž by uživatelé museli přímo zadávat své přístupové údaje. OAuth poskytuje bezpečný způsob autorizace bez sdílení citlivých pověření.
- Jak funguje tok OAuth při přihlašování k rozhraní REST API?
- Tok OAuth obvykle začíná tím, že FileMaker odešle požadavek na autorizační server, aby získal token. Tento token se pak použije pro přístup k rozhraní REST API. Existují různé typy toku OAuth, ale nejběžnější je tok autorizačního kódu, kdy je uživatel ověřen prostřednictvím přihlašovací stránky rozhraní API a FileMaker poté obdrží přístupový token.
- Jaké informace potřebuji k připojení aplikace FileMaker k rozhraní REST API prostřednictvím protokolu OAuth?
- Potřebujete ID klienta, tajemství klienta, URI přesměrování a adresy URL autorizace a tokenu rozhraní API. Tyto informace obvykle obdržíte od poskytovatele API po registraci aplikace. FileMaker tyto údaje používá k ověření prostřednictvím procesu OAuth.
- Jak ověřím FileMaker pomocí OAuth proti rozhraní REST API?
- Proces OAuth je třeba nejprve inicializovat zadáním požadavku na autorizaci prostřednictvím aplikace FileMaker pomocí funkce Vložit z adresy URL. Po úspěšné autorizaci obdržíte přístupový token, který můžete použít v dalších požadavcích API pro přístup k chráněným zdrojům.
- Jak uložím token OAuth v aplikaci FileMaker pro pozdější volání API?
- Obdržený token se obvykle uloží do pole v aplikaci FileMaker, aby se mohl použít pro budoucí volání rozhraní API. Tokeny mají často omezenou životnost a je třeba je pravidelně obnovovat vyžádáním nového tokenu.
- Co se stane, když platnost tokenu OAuth vyprší?
- Pokud platnost přístupového tokenu vyprší, zobrazí se chyba rozhraní API (např. stavový kód HTTP 401 "Neautorizováno"). V takovém případě musíte použít obnovovací token, abyste získali nový přístupový token, aniž by se uživatel musel znovu přihlašovat. Token obnovení se poskytuje během původního procesu OAuth.
- Jak získám token obnovení v aplikaci FileMaker?
- Když projdete prvním tokem OAuth, obdržíte nejen přístupový token, ale také obnovovací token. Tento token obnovení lze uložit v aplikaci FileMaker. Jakmile platnost tokenu přístupu vyprší, lze pomocí tokenu obnovení požádat o nový token přístupu, aniž by bylo nutné uživatele znovu ověřovat.
- Jaká bezpečnostní opatření je třeba přijmout při použití OAuth v aplikaci FileMaker?
- Měli byste zajistit bezpečné uložení citlivých údajů, jako jsou klientské tajemství, přístupový token a token pro obnovení. Používejte šifrovaná pole v aplikaci FileMaker a zabezpečte databázi pomocí správných kontrol přístupu. Měli byste také zajistit, abyste pro datový provoz s rozhraním API používali protokol HTTPS.
- Může FileMaker automaticky požádat o nový token, když platnost starého vyprší?
- Ano, ve FileMakeru můžete nastavit skript, který zkontroluje stavový kód požadavku API. Pokud se vrátí chyba 401 z důvodu vypršení platnosti tokenu, může skript automaticky požádat o nový token s uloženým obnovovacím tokenem a znovu odeslat požadavek.
- Co mám dělat, když rozhraní REST API používá OAuth 2.0, ale FileMaker podporuje pouze základní ověřování?
- Pokud rozhraní API vyžaduje OAuth 2.0, je nutné plně integrovat tok OAuth do aplikace FileMaker. Základní ověření nestačí. Můžete však ve FileMakeru vytvořit skript, který automatizuje celý proces OAuth (žádost o autorizaci, uložení tokenu, obnovení tokenu) a zajistí, že všechna volání API budou provedena s příslušnými tokeny.
Souhrn
FileMaker nabízí možnost adresovat rozhraní REST API a používat různé mechanismy ověřování, např. OAuth, Základní autorizace a Ověřování pomocí tokenů podporu. Prostřednictvím Vložení z adresy URL a Možnosti cURL zvládnete složité procesy ověřování a zajistíte, že vaše řešení FileMaker budou bezproblémově komunikovat s externími systémy. Jakmile je přihlášení k rozhraní REST API bezchybné, můžete vyvolat požadované koncové body rozhraní API a zpracovat dodaná data.
