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?
- Authentication Servers ekranında HTTP ya da HTTPS protokollü bir sunucu profili tanımlanır.
- Bu ekranda Provider Type olarak HTTP seçilir; isteğin yolu, gövdesi ve başarı koşulları girilir.
- Profil, erişim akışına giriş formundan sonra Authentication Provider adımı olarak eklenir.
- 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:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- AGS → Authentication → Authentication Providers → Add adımları takip edilir.
- Profil için benzersiz ve açıklayıcı bir isim girilir; Provider Type olarak HTTP seçilir.
- Authentication Server, istek ayrıntıları ve başarı koşulları girilir.
Addbutonuna 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 Form
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çenek | Anlamı |
|---|---|
| None | Gövde gönderilmez. |
| Multipart Form | Gövde multipart/form-data biçiminde, Body Parameters tablosundan oluşturulur. |
| URL Encoded Form | Gövde application/x-www-form-urlencoded biçiminde, Body Parameters tablosundan oluşturulur. |
| JSON | Gövde JSON nesnesi olarak, Body Parameters tablosundan oluşturulur. |
| Manual | Gö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çenek | Anlamı |
|---|---|
| Status Code | Yanıtın durum kodu Expected Status Codes listesinde olmalıdır. |
| Cookie | Yanıt Expected Cookie Name adlı çerezi içermelidir. |
| Redirect URL | Yanıt Expected Redirect URL adresine yönlendirmelidir. |
| JSONata | JSONata 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.
Expected Cookie Name Zorunlu
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:
| Alan | Anlamı |
|---|---|
status | Yönlendirmeler izlendikten sonra son yanıtın HTTP durum kodu (sayı). |
initialStatus | Zinciri başlatan ilk yanıtın durum kodu. |
finalUrl | Son ulaşılan adres. |
headers | Yanıt başlıkları; çerez başlıkları headers altındaki set-cookie anahtarından okunur. |
cookies | Bütün adımlarda toplanan çerezlerin ad-değer eşlemesi; tek bir çerez cookies altından adıyla okunur. |
body | Yanıt gövdesi; API yanıtlarında çözümlenmiş JSON nesnesi, HTML döndüren uygulamalarda ham metin. |
redirects | Yö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çenek | Anlamı |
|---|---|
| Use Gateway Defaults | vService'in Default Lockout Policies listesindeki politikalar kullanılır. |
| Replace Defaults | Yalnızca Lockout Policies alanında seçilen politikalar kullanılır. |
| Add to Defaults | vService'in varsayılan politikalarına ek olarak Lockout Policies alanında seçilenler de kullanılır. |
| No Lockout | Bu 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.
