FileMaker'ın oAuth ile bir REST API'ye giriş yapması
Almanya'da REST API'ler birçok sektörde uygulamaları ve sistemleri birbirine bağlamak için sıklıkla kullanılmaktadır. Özellikle Shopware, Magento ve WooCommerce gibi platformların ürün, sipariş ve müşteri bilgilerini ERP sistemleri veya PayPal ve Klarna gibi ödeme hizmetleriyle entegre etmek için API'leri kullandığı e-ticarette yaygındır. API'ler, açık bankacılık ve PSD2 yönergeleri sayesinde finans sektöründe de yaygın olarak kullanılmakta ve N26 ve Deutsche Bank gibi bankaların üçüncü taraf sağlayıcılara güvenli bir şekilde veri aktarmasını sağlamaktadır. Lojistik alanında API'ler DHL ve Hermes gibi nakliye hizmeti sağlayıcılarını gönderi takibi ve nakliye süreçlerinin otomasyonu konusunda desteklemektedir. API'ler ayrıca sağlık sektöründe hasta verilerini yönetmek ve kamu yönetiminde vatandaş hizmetlerini dijitalleştirmek için kullanılmaktadır.
Bir bağlantı REST API içinde FileMaker harici sistemlerden FileMaker veritabanlarına veri entegre etmek veya bu sistemlere veri göndermek için yaygın bir kullanım durumudur. Bu REST API'leri için kimlik doğrulama genellikle şu yollarla gerçekleşir OAuth veya Token tabanlı kimlik doğrulama. Aşağıda bunun nasıl çalıştığına dair ayrıntılı talimatlar bulacaksınız.
Entegre FileMaker ERP
REST API arayüzü
Daha fazla bilgi
1. REST API bağlantısının temelleri
Kimlik doğrulamaya başlamadan önce, FileMaker işlevi aracılığıyla REST API'yi çağırmamız gerekir URL'den ekle bir komut dosyasında kullanılır. REST API'leri genellikle HTTP yöntemleri Nasıl?
GETAPI'den veri alın.POSTAAPI'ye veri gönderin.PUTMevcut verileri güncelleyin.SİLVerileri silin.
Ancak asıl önemli olan nokta Kayıt Bu yöntemleri kullanabilmek için API üzerinde.
2. HTTP-Basic-Auth
En basit kimlik doğrulama biçimlerinden biri HTTP-Basic-Auth. Kullanıcı adı ve parola YetkilendirmeHTTP isteğinin -başlığı.
Örnek:
Değişkeni ayarla [ $username ; Değer: "your_username" ]
Değişken ayarla [ $password ; Değer: "your_password" ]
Değişken ayarla [ $url ; Değer}, "https://api.example.com/resource" ]# Kullanıcı adı ve parolayı birleştirin, ardından base64-encode edin
Değişken ayarla [ $encodedAuth ; Değer: Base64Encode ( $username & ":" & $password ) ]# cURL seçeneklerini tanımlama
Değişken ayarla [ $cURLOptions ; Değer:
"--header \"Authorisation: Basic " & $encodedAuth & "\"" ]
# API sorgusunu çalıştır
URL'den Ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $response ; URL: $url ; cURL seçenekleri: $cURLOptions ]
Bu örnekte, kullanıcı adı ve parola Base64 ile kodlanmış bir dizeye dönüştürülür ve Yetkilendirme başlığı gönderildi.
3. OAuth 2.0 Kimlik Doğrulama
OAuth 2.0, aşağıdakileri sağlayan standartlaştırılmış bir çerçevedir Token tabanlı erişim bir API'ye. Çeşitli akışlarda mevcuttur:
a) Müşteri Kimlik Bilgileri Akışı
Bu akış, uygulama API ile doğrudan iletişim kurduğunda ve kullanıcı etkileşimi gerekmediğinde kullanılır. Burada bir Erişim Simgesi API tarafından talep edilir.
- Erişim belirteci iste: Bir erişim belirteci elde etmek için POST isteği API'nin token uç noktasına gönderilir.
Değişkeni ayarla [ $client_id ; Değer: "your_client_id" ]
Değişken ayarla [ $client_secret ; Değer: "your_client_secret" ]
Değişken ayarla [ $url ; Değer}, "https://auth.example.com/oauth/token" ]# cURL seçeneklerini tanımlama
Değişkeni Ayarla [ $cURLOptions ; Değer:
"--data-urlencode \"client_id=" & $client_id & "\" " &
"--data-urlencode \"client_secret=" & $client_secret & "\" " &
"--data-urlencode \"grant_type=client_credentials\"" ]# API sorgusunu çalıştır
URL'den ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $response ; URL: $url ; cURL seçenekleri: $cURLOptions ]JSON'dan # belirtecini çıkarın
Değişken ayarla [ $accessToken ; Değer: JSONGetElement ( $response ; "access_token" ) ]
- Erişim belirteci ile API isteğiBelirteç alındıktan sonra, API ile kimlik doğrulama için kullanılabilir.
Değişken ayarla [ $api_url ; Değer}, "https://api.example.com/protected_resource" ]# Taşıyıcı belirteci ile cURL seçeneklerini tanımlama
Değişken ayarla [ $cURLOptions ; Değer:
"--header \"Authorisation: Bearer " & $accessToken & "\"" ]
# API sorgusunu çalıştırma
URL'den ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $api_response ; URL: $api_url ; cURL seçenekleri: $cURLOptions ]
b) Yetkilendirme Kodu Akışı
Bu akış, API kullanıcıdan kimlik doğrulaması yapmasını ve uygulamaya erişim izni vermesini istediğinde kullanılır. Akış genellikle aşağıdaki adımlardan oluşur:
- Kullanıcıları API'nin giriş sayfasına yönlendirinKullanıcının erişim verilerini girdiği ve uygulamayı yetkilendirdiği bir tarayıcı penceresi açılır.
- Yetki kodu alın: Başarılı bir kayıttan sonra Yetki Kodu bir yönlendirme URL'sine gönderilir.
- Erişim Jetonu için Değişim Yetki KoduYetkilendirme kodu bir erişim belirteci talep etmek için kullanılır.
- Erişim belirteci ile API isteğiTıpkı Müşteri Kimlik Bilgileri Akışı erişim belirtecinin girildiği
Yetkilendirme-API isteğinin başlığı.
4. Token tabanlı kimlik doğrulama (API anahtarları)
ile Token tabanlı kimlik doğrulama genellikle statik bir API anahtarı API tarafından oluşturulan ve Yetkilendirme-başlığı veya API'ye URL parametresi olarak gönderilir.
Örnek:
Değişken ayarla [ $api_key ; Değer: "your_api_key" ]
Değişken ayarla [ $url ; Değer: "https://api.example.com/resource" ]# cURL seçeneklerini tanımlama
Değişken ayarla [ $cURLOptions ; Değer:
"--header \"Authorisation: Bearer " & $api_key & "\"" ]# API çağrısını gerçekleştirin
URL'den ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $response ; URL: $url ; cURL seçenekleri: $cURLOptions ]
Alternatif olarak API anahtarı URL parametreleri olarak gönderilir:
Değişken ayarla [ $url ; Değer}, "https://api.example.com/resource?api_key=your_api_key" ]
# API sorgusunu çalıştırma
URL'den ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $response ; URL: $url ]5. Token yönetimi
Birçok API'de Erişim Simgesi belli bir süre sonra. Burada bir Yenileme Belirteci kullanıcının yeniden kimlik doğrulaması yapmasına gerek kalmadan yeni bir Erişim Belirteci elde etmek için kullanılabilir.
Değişken ayarla [ $refresh_token ; Değer: "your_refresh_token" ]
Değişken ayarla [ $url ; Değer}, "https://auth.example.com/oauth/token" ]
# Belirteç yenileme için cURL seçeneklerini tanımlama
Değişken ayarla [ $cURLOptions ; Değer:
"--data-urlencode \"refresh_token=" & $refresh_token & "\" " &
"--data-urlencode \"client_id=" & $client_id & "\" " &
"--data-urlencode \"client_secret=" & $client_secret & "\" " &
"--data-urlencode \"grant_type=refresh_token\"" ]
# Belirteç yenilemeyi yürüt
URL'den ekle [ Seçim ; Diyalog: Kapalı ; Hedef: $response ; URL: $url ; cURL seçenekleri: $cURLOptions ]
# JSON yanıtından yeni erişim belirtecini çıkarın
Değişken ayarla [ $new_accessToken ; DeğerJSONGetElement ( $response ; "access_token" ) ]
gFM-Business Açık Kaynak FileMaker Basis-ERP
Çarpışma kursu için yazılım
Ücretsiz indirin
FileMaker Özel İşlevi olarak OAuth oturum açma
için FileMaker Özel Fonksiyonu Bir REST API'sine giriş yapan ve Basic Auth, OAuth2 veya API anahtarları gibi çeşitli kimlik doğrulama yöntemlerini parametreler aracılığıyla destekleyen bir fonksiyon oluşturarak FileMaker'ın esnekliğinden yararlanabiliriz. Fonksiyon, ilgili tüm parametreleri dinamik olarak kabul etmeli ve kimlik doğrulama türüne bağlı olarak doğru formatı oluşturmalıdır. Fonksiyon ücretsiz FileMaker BaseElements Eklentisiçünkü FileMaker'da şu işlev vardır URL'den ekle ayrı bir işlevde desteklenmez.
Temel fikir:
Özel işlev, API URL'sini, kimlik doğrulama türünü ve kullanıcı adı, parola, istemci kimliği, istemci sırrı veya belirteci gibi gerekli verileri içeren parametreler aracılığıyla kontrol edilmelidir. İşlev daha sonra kimlik doğrulamasını gerçekleştirecek ve oturum açma verilerini doğru biçimde API'ye gönderecektir.
Fonksiyonun yapısı:
Parametreler:
apiURL: REST API'nin URL'si.authTypeKimlik doğrulama türü (örneğin "Basic", "OAuth2", "API-Key").kullanıcı adıBasic Auth için kullanıcı adı.şifreTemel Kimlik Doğrulama için Parola.istemciIDOAuth2 için İstemci Kimliği.clientSecretOAuth2 için istemci sırrı.belirteçAPI belirteci veya OAuth2 erişim belirteci.extraParamsİstek için ek parametreler (örn.hibe_tipiOAuth2 için).
Özel fonksiyon örneği:
/*
İşlev adı: API_Login
Parametreler:
apiURL (Metin) - API'nin URL'si
authType (Metin) - Kimlik doğrulama türü (Temel, OAuth2, API anahtarı)
user (text) - kullanıcı adı (Basic Auth veya OAuth2 için)
password (Metin) - Parola (Temel Auth veya OAuth2 için)
clientID (Metin) - İstemci Kimliği (OAuth2 için)
clientSecret (Metin) - İstemci Sırrı (OAuth2 için)
token (metin) - Erişim belirteci (API anahtarı veya OAuth2 için)
extraParams (Metin) - Ek parametreler (OAuth2 için)
İade:
API'den gelen yanıt veya hata mesajı
*/
SetVar ( [
//
Yapılandırma değişkenleri
url = apiURL;
authMethod = authType;
basicAuthHeader = "Authorisation: Basic " & Base64Encode(user & ":" & password);
tokenAuthHeader = "Authorisation: Bearer " & token;
// OAuth2 İstemci Kimlik Bilgileri Akışı için veri hazırlama
oauthData = "client_id=" & clientID & "&client_secret=" & clientSecret & "&grant_type=client_credentials";
// Kimlik doğrulama türüne bağlı olarak cURL seçeneklerini ayarlayın
cURL_Options =
Eğer(
authMethod = "Basic"; basicAuthHeader;
authMethod = "OAuth2"; "";
authMethod = "API-Key"; tokenAuthHeader;
""
);
// Kimlik doğrulama yöntemine bağlı olarak istek gönder
sonuç = Eğer(
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" ) ];
// API sorgusunun sonucunu döndürür
Sonuç
)
İşlevsellik:
- Fonksiyon hangi kimlik doğrulama türünün kullanıldığını kontrol eder (
Temel,OAuth2,API anahtarı). - Kimlik doğrulama türüne bağlı olarak, farklı cURL seçenekleri üretildi:
- Temel Kimlik Doğrulama: Kullanıcı adı ve parola Base64 ile kodlanmış bir dizeye dönüştürülür ve
Yetkilendirme-başlığı gönderilir. - OAuth2 İstemci Kimlik Bilgileri Akışıİstemci kimliği ve istemci sırrı, bir erişim belirteci elde etmek için isteğin gövdesinde gönderilir.
- API anahtarı veya OAuth2 erişim belirteci: Belirteç doğrudan şu şekilde tanınır
Taşıyıcıbaşlıkta -token gönderilir.
- Temel Kimlik Doğrulama: Kullanıcı adı ve parola Base64 ile kodlanmış bir dizeye dönüştürülür ve
- Özel işlev, sunucu bağlantısı için FileMaker BaseElements eklentisinin HTTP Get ve Put işlevlerini kullanır, çünkü
URL'den ekle-fonksiyonu FileMaker tarafından kendi fonksiyonlarında desteklenmez, sadece komut dosyalarında desteklenir.
Örnek arama:
API_Login(
"https://api.example.com/login",
"Temel",
"myUsername",
"myPassword",
"",
"",
""
)
Genişleme seçenekleri:
- Hata işlemeFonksiyon, API'den gelen hata kodlarını tanıyacak ve ilgili mesajları döndürecek şekilde genişletilebilir.
- Jeton yenilemeBir erişim belirtecinin süresi dolarsa, işlev otomatik olarak yeni bir belirteç isteyecek şekilde genişletilebilir.
- Daha fazla OAuth2 akışı için destek: Kod şu şekilde genişletilebilir Yetkilendirme Kodu Akışı ve Şifre Hibe Akışı desteklenmelidir.
Bu özel işlev, farklı kimlik doğrulama mekanizmalarını FileMaker'daki REST API'leri ile entegre etmek için esnek bir yol sunar ve özel gereksinimlere göre kolayca özelleştirilebilir.
Satın almak ve kiralamak üzere optimize edilmiş işletim süreçleri için dört FileMaker ERP platformu.
Bilgi talep edin
FileMaker ve oAuth ile REST-API hakkında sıkça sorulan sorular
- OAuth nedir ve neden bir REST API'ye giriş yapmak için kullanılır?
- OAuth, API erişiminin güvenli bir şekilde yetkilendirilmesi için kullanılan açık standart bir protokoldür. FileMaker gibi uygulamaların, kullanıcıların erişim verilerini doğrudan girmelerine gerek kalmadan bir API'nin korumalı kaynaklarına erişmelerini sağlar. OAuth, hassas kimlik bilgilerini paylaşmadan yetkilendirme yapmak için güvenli bir yol sağlar.
- Bir REST API'de oturum açarken OAuth akışı nasıl çalışır?
- OAuth akışı genellikle FileMaker'ın bir token elde etmek için bir yetkilendirme sunucusuna istek göndermesiyle başlar. Bu belirteç daha sonra REST API'ye erişmek için kullanılır. Farklı OAuth akış türleri vardır, ancak en yaygın olanı, kullanıcının API'nin bir oturum açma sayfası aracılığıyla kimliğinin doğrulandığı ve FileMaker'ın daha sonra bir erişim belirteci aldığı Yetkilendirme Kodu Akışıdır.
- FileMaker'ı OAuth aracılığıyla bir REST API'ye bağlamak için hangi bilgilere ihtiyacım var?
- İstemci kimliğine, istemci sırrına, yönlendirme URI'sine ve API'nin yetkilendirme ve belirteç URL'lerine ihtiyacınız vardır. Bu bilgileri genellikle bir uygulamayı kaydettikten sonra API sağlayıcısından alırsınız. FileMaker bu verileri OAuth süreci aracılığıyla kendi kimliğini doğrulamak için kullanır.
- FileMaker'ın kimliğini OAuth ile bir REST API'ye karşı nasıl doğrulayabilirim?
- İlk olarak, URL'den Ekle işlevini kullanarak FileMaker üzerinden bir yetkilendirme isteği yaparak OAuth sürecini başlatmanız gerekir. Başarılı bir yetkilendirmeden sonra, korunan kaynaklara erişmek için diğer API isteklerinde kullanabileceğiniz bir erişim belirteci alacaksınız.
- OAuth belirtecini daha sonraki API çağrıları için FileMaker'a nasıl kaydederim?
- Alınan token genellikle gelecekteki API çağrılarında kullanmak üzere FileMaker'da bir alanda saklanır. Belirteçlerin genellikle sınırlı bir ömrü vardır ve yeni bir belirteç talep ederek bunları düzenli olarak yenilemeniz gerekir.
- OAuth belirtecinin süresi dolduğunda ne olur?
- Erişim belirtecinin süresi dolarsa, API'den bir hata alırsınız (örneğin HTTP durum kodu 401 "Yetkisiz"). Bu durumda, kullanıcının tekrar giriş yapmasına gerek kalmadan yeni bir erişim belirteci elde etmek için yenileme belirtecini kullanmanız gerekir. Yenileme belirteci orijinal OAuth işlemi sırasında sağlanır.
- FileMaker'da bir yenileme belirtecini nasıl alabilirim?
- İlk OAuth akışından geçtiğinizde, yalnızca bir erişim belirteci değil, aynı zamanda bir yenileme belirteci de alırsınız. Bu yenileme belirteci FileMaker'da kaydedilebilir. Erişim belirtecinin süresi dolduğunda, kullanıcının kimliği yeniden doğrulanmadan yenileme belirteci kullanılarak yeni bir erişim belirteci talep edilebilir.
- FileMaker'da OAuth kullanırken hangi güvenlik önlemlerini almam gerekir?
- Client Secret, Access Token ve Refresh Token gibi hassas verilerin güvenli bir şekilde saklandığından emin olmalısınız. FileMaker'da şifrelenmiş alanlar kullanın ve veritabanını doğru erişim kontrolleriyle güvence altına alın. Ayrıca API ile veri trafiği için HTTPS kullandığınızdan emin olmalısınız.
- FileMaker, eski token'ın süresi dolduğunda otomatik olarak yeni bir token talep edebilir mi?
- Evet, FileMaker'da bir API isteğinin durum kodunu kontrol eden bir komut dosyası ayarlayabilirsiniz. Süresi dolmuş bir belirteç nedeniyle 401 hatası döndürülürse, komut dosyası kaydedilen yenileme belirteciyle otomatik olarak yeni bir belirteç isteyebilir ve isteği yeniden gönderebilir.
- REST API OAuth 2.0 kullanıyorsa ancak FileMaker yalnızca temel kimlik doğrulamayı destekliyorsa ne yapmalıyım?
- Bir API OAuth 2.0 gerektiriyorsa, OAuth akışını FileMaker'a tamamen entegre etmelisiniz. Temel kimlik doğrulama yeterli olmayacaktır. Ancak, FileMaker'da tüm OAuth sürecini (yetkilendirme talebi, token depolama, token yenileme) otomatikleştiren ve tüm API çağrılarının uygun token'larla yapılmasını sağlayan bir komut dosyası oluşturabilirsiniz.
Özet
FileMaker, REST API'lerini adresleme ve aşağıdaki gibi farklı kimlik doğrulama mekanizmaları kullanma seçeneği sunar OAuth, Temel Kimlik Doğrulama ve Token tabanlı kimlik doğrulama Destek. Kullanım yoluyla URL'den ekle ve cURL seçenekleri karmaşık kimlik doğrulama süreçlerini yönetebilir ve FileMaker çözümlerinizin harici sistemlerle sorunsuz bir şekilde iletişim kurmasını sağlayabilirsiniz. REST API'ye giriş hatasız olur olmaz, API'nizin istediğiniz uç noktalarını çağırabilir ve sağlanan verileri işleyebilirsiniz.
