Skip to content
Smarter by Design.Simpler for Business

HTTP ​

HTTP Nedir? ​

HTTP, kullanıcının giriş formuna yazdığı bilgileri kurumun kendi kimlik doğrulama servisine (bir REST API ya da iç web servisi) HTTP isteğiyle gönderen ve yanıta göre girişi kabul eden Authentication Providers türüdür. İsteğin yolu, yöntemi, başlıkları ve gövdesi bu profilde; sunucunun adresi, portu ve TLS ayarları Authentication Servers ekranındaki bir HTTP ya da HTTPS sunucu profilinde tanımlanır. Başarı, yanıtın durum koduna, çerezine, yönlendirme adresine ya da JSONata ifadesine göre belirlenir.

Nasıl çalışır?

  1. Authentication Servers ekranında HTTP ya da HTTPS protokollü bir sunucu profili tanımlanır.
  2. Bu ekranda Provider Type olarak HTTP seçilir; isteğin yolu, gövdesi ve başarı koşulları girilir.
  3. Profil, erişim akışına giriş formundan sonra Authentication Provider adımı olarak eklenir.
  4. Kullanıcı bilgileri %AGS_USER_INPUT(...) değişkenleriyle isteğe yerleştirilir; yanıt başarı koşullarını sağlarsa akış success, sağlamazsa fail geçişinden devam eder.

Operasyonel En İyi Uygulamalar ​

  • HTTPS sunucu profili. Parolalar servise iletildiğinden sunucu profili mümkünse HTTPS protokollü olmalıdır.
  • Başarı koşulu sıkı. Yalnızca durum kodu yeterli değilse yanıt gövdesi JSONata ifadesiyle de denetlenmelidir; bazı servisler hatalı girişte de 200 döndürür.
  • Öznitelikler yanıttan. Servisin yanıtındaki kullanıcı bilgileri Custom User Attribute Mapping ile oturuma eşlenir.
  • Kilitleme. Parola doğrulayan bu türde Account Lockout Policies atanmalıdır.

Nasıl Eklenir? ​

Yeni bir HTTP sağlayıcısı, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlarla eklenir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. AGS → Authentication → Authentication Providers → Add adımları takip edilir.
  3. Profil için benzersiz ve açıklayıcı bir isim girilir; Provider Type olarak HTTP seçilir.
  4. Authentication Server, istek ayrıntıları ve başarı koşulları girilir.
  5. Add butonuna tıklanarak profil eklenir.

Profil Ekleme Formu ​

AGS → Authentication → Authentication Providers → Add adımları takip edilerek Provider Type alanında HTTP seçildiğinde form aşağıdaki alanlarla açılır.

HTTP Seçiliyken FormHTTP Seçiliyken Form

HTTP Formunun DevamıHTTP Formunun Devamı

INFO

Provider Name Zorunlu ​

Profilin adı; listede, akış şemasındaki adım seçiminde, oturum listesinde ve loglarda profili tanımlar. Ad cihazda benzersiz olmalıdır; aynı adla ikinci bir profil kaydedilmez ve Name is used uyarısı görüntülenir. Boş bırakıldığında Required field uyarısı görüntülenir.

INFO

Provider Type Zorunlu ​

Sağlayıcı türü; bu sayfada HTTP seçilidir. Tür değiştirildiğinde yalnızca yeni türün alanları görüntülenir ve kaydedilir; tür düzenleme formunda da değiştirilir.

INFO

Authentication Server ​

Authentication Servers ekranındaki sunucu profilleri listelenir; HTTP ya da HTTPS protokollü bir profil seçilmelidir. Seçici protokole göre süzmez, bu protokoller dışındaki bir profil de seçilebilir ve kayıt kabul edilir. Tanımlı profil varsa listedeki ilk profil seçili gelir; hiç profil tanımlı değilse alan boş açılır ve alanda uyarı simgesi görüntülenir. Alan şemada zorunludur, ancak formda zorunlu işareti ve Required field uyarısı görüntülenmez. Açılan listenin üstündeki + Add satırıyla sayfadan ayrılmadan yeni bir profil tanımlanır ve alanda seçili gelir. İsteğin çıkacağı route tablosu bu alanda seçilen sunucu profilinin Route Table ayarından gelir; bu türde formda ayrı bir route tablosu alanı bulunmaz.

INFO

HTTP Method Zorunlu Varsayılan: POST ​

Servise gönderilecek isteğin HTTP yöntemi. Açılır listede WebDAV yöntemleri dâhil 39 yöntem bulunur (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, PROPFIND, REPORT, SEARCH ve diğerleri).

INFO

HTTP Path Zorunlu ​

Servisin kimlik doğrulama yolu (/api/login gibi); sunucu profilindeki adrese eklenir. Boş bırakıldığında Required field uyarısı görüntülenir.

INFO

HTTP Headers Varsayılan: Automatic ​

Anahtar Automatic konumundayken ek başlık gönderilmez; Choose konumuna alındığında HTTP Header Name ve HTTP Header Value tablosu açılır. Değerlerde akış değişkenleri kullanılır.

INFO

HTTP Query Parameters Varsayılan: Automatic ​

Anahtar Automatic konumundayken ek sorgu parametresi gönderilmez; Choose konumuna alındığında Parameter Name ve Parameter Value tablosu açılır.

INFO

Body Type Varsayılan: JSON ​

İstek gövdesinin biçimi seçilir:

SeçenekAnlamı
NoneGövde gönderilmez.
Multipart FormGövde multipart/form-data biçiminde, Body Parameters tablosundan oluşturulur.
URL Encoded FormGövde application/x-www-form-urlencoded biçiminde, Body Parameters tablosundan oluşturulur.
JSONGövde JSON nesnesi olarak, Body Parameters tablosundan oluşturulur.
ManualGövde Raw Body alanına elle yazılır.
Body Parameters ​

Parameter Name ve Parameter Value tablosu; form bir boş satırla açılır, yeni satırlar etiketin yanındaki + simgesiyle eklenir ve en az bir satır bulunur. Formda zorunlu işareti görüntülenmez; satırın iki alanı da kayıtta zorunludur ve Parameter Name değerleri tekrar etmez. Değer alanında ƒx simgesiyle smart değişken seçilir (ör. username → %AGS_USER_INPUT(username)).

Raw Body Zorunlu (Manual) ​

Elle yazılan gövde metni; akış değişkenleri kullanılır.

INFO

HTTP Timeout (seconds) Varsayılan: 30 ​

Servisten yanıt beklenen en uzun süre; 1 ile 300 saniye arasında bir değer girilir.

INFO

Follow Redirects Varsayılan: Enabled ​

Açıkken servisin döndürdüğü yönlendirmeler izlenir ve başarı koşulları son yanıta uygulanır.

INFO

Success Conditions Varsayılan: Status code ​

Girişin başarılı sayılması için yanıtta aranacak koşullar; birden fazla seçilir ve her seçim kendi alanını açar:

SeçenekAnlamı
Status CodeYanıtın durum kodu Expected Status Codes listesinde olmalıdır.
CookieYanıt Expected Cookie Name adlı çerezi içermelidir.
Redirect URLYanıt Expected Redirect URL adresine yönlendirmelidir.
JSONataJSONata Success Expression ifadesi yanıt üzerinde doğru sonuç vermelidir.
Expected Status Codes Varsayılan: 200: OK ​

Status Code seçiliyken görüntülenir; başarılı sayılan durum kodları çoklu seçilir.

Cookie seçiliyken görüntülenir; yanıtta bulunması beklenen çerezin adı.

Expected Redirect URL Zorunlu ​

Redirect URL seçiliyken görüntülenir; yanıtın yönlendirmesi beklenen adres. Alan ƒx simgesiyle smart değişken kabul eder.

JSONata Success Expression Zorunlu ​

JSONata seçiliyken görüntülenir. İfade yanıt gövdesi üzerinde değil, yanıt zarfının kökünde değerlendirilir; gövdeye body alanından erişilir. Kökteki alanlar şunlardır:

AlanAnlamı
statusYönlendirmeler izlendikten sonra son yanıtın HTTP durum kodu (sayı).
initialStatusZinciri başlatan ilk yanıtın durum kodu.
finalUrlSon ulaşılan adres.
headersYanıt başlıkları; çerez başlıkları headers altındaki set-cookie anahtarından okunur.
cookiesBütün adımlarda toplanan çerezlerin ad-değer eşlemesi; tek bir çerez cookies altından adıyla okunur.
bodyYanıt gövdesi; API yanıtlarında çözümlenmiş JSON nesnesi, HTML döndüren uygulamalarda ham metin.
redirectsYönlendirme adımlarının listesi; her öğede url ve statusCode bulunur.

Örnek: status = 200 and body.success = true. Gövdedeki bir alana kökmüş gibi başvurulduğunda (ör. status = "ok") ifade hiçbir zaman doğru sonuç vermez.

User Attribute Mapping ​

INFO

Custom User Attribute Mapping Varsayılan: No customisation ​

Sağlayıcı yanıtındaki alanların oturum özniteliklerine nasıl eşleneceği yönetilir. Alanın solundaki bilgi çubuğu, bu tür için otomatik eşlenen alan sayısını gösterir: 15 fields are filled in automatically for this provider. Çubuktaki ok simgesine tıklandığında otomatik eşlenen 15 satır ve her birinin JSONata ifadesi listelenir.

Sağdaki anahtar Customised konumuna alındığında AGS Attribute ve Source Attribute tablosu görüntülenir: sol kolonda oturum özniteliği (öneri listesiyle), sağ kolonda JSONata ifadesi girilir. İfade istek ve yanıt zarfının tamamı üzerinde çalışır; kullanıcı nesnesi kökte değil res.data altındadır. Kökteki alanlar res.data, res.status, res.finalUrl, res.headers, res.cookies, res.redirects, req.url, req.headers ve req.queryParams şeklindedir (ör. res.data.user.email). Anahtar açıldığında çubuğun sağında satır ekleyen + Add bağlantısı belirir. Otomatik satırla aynı özniteliği hedefleyen özel satır otomatik olanı geçersiz kılar (replaced below rozeti) ve bilgi çubuğunun metni, kaç otomatik satırın değiştirildiğini de söyleyen … fields are filled in automatically; you replace … of them biçimine döner. AGS'nin standart öznitelikleri dışında bir ad girildiğinde bu öznitelik vService'te özel kullanıcı alanı olarak tanımlanır; _ ile başlayan adlar gizli alan sayılır ve özel kullanıcı alanı üretmez.

Lockout Configuration ​

INFO

Lockout Behavior Varsayılan: Use gateway defaults ​

Bu sağlayıcıdaki başarısız denemelerin hangi kilitleme politikalarıyla sayılacağı seçilir:

SeçenekAnlamı
Use Gateway DefaultsvService'in Default Lockout Policies listesindeki politikalar kullanılır.
Replace DefaultsYalnızca Lockout Policies alanında seçilen politikalar kullanılır.
Add to DefaultsvService'in varsayılan politikalarına ek olarak Lockout Policies alanında seçilenler de kullanılır.
No LockoutBu sağlayıcıda başarısız denemeler sayılmaz, kilitleme yapılmaz.
Lockout Policies ​

Replace Defaults ya da Add to Defaults seçiliyken görüntülenir; Account Lockout Policies ekranındaki hazır ve tanımlı politikalar seçilir.

INFO

Add ​

Add butonuna tıklanarak profil eklenir; sekme kapanır ve profil listede görüntülenir.