Ana içeriğe geç

1.1.4.5. Custom URL Authenticator#

Bu doküman, HvlAuthCustomUrlAuthenticatorImpl sınıfını kullanarak özelleştirilmiş bir URL üzerinden kimlik doğrulama akışını nasıl yapılandırabileceğinizi ve kullanabileceğinizi açıklamaktadır. Bu entegrasyon, dış REST servisi ile POST ( JSON/Form) ve GET istekleri kullanarak kimlik doğrulama işlemi yapılmasına olanak tanır.

Kullanım Amaçları HvlAuthCustomUrlAuthenticatorImpl, kullanıcı kimlik doğrulama isteklerini belirttiğiniz bir dış servis URL'sine ileterek doğrulama işlemlerini gerçekleştirir. Bu servis, genel olarak bir OpenID Connect veya OAuth sunucuya bağlanmak için kullanılır. Standart kimlik doğrulama yöntemlerinde yer almayan özel doğrulama ihtiyaçlarınızı karşılamak için ideal bir çözümdür.

Ayarlanabilir Parametreler

Değişken Adı Değeri Açıklama
CUSTOM_AUTH_TIMEOUT 3000 İstek zaman aşımı süresi (milisaniye).
CUSTOM_AUTH_READ_TIMEOUT 3000 Okuma zaman aşımı süresi (milisaniye).
CUSTOM_AUTH_URL http://localhost:8089/realms/master/protocol/openid-connect/token Kimlik doğrulama isteklerinin gönderileceği dış servis URL'si.
CUSTOM_AUTH_METHOD GET/POST REST isteği için kullanılacak HTTP yöntemi.
CUSTOM_AUTH_CONTENT_TYPE application/x-www-form-urlencoded İstek gövdesinin content type'ı.
CUSTOM_AUTH_ACCEPT_HEADER application/json İstek kabul başlığı.
CUSTOM_AUTH_USER_AGENT HvlAuthProxy/1.0 Kullanıcı agent bilgisi.
CUSTOM_AUTH_USERNAME_FIELD username İsteklerde kullanılan kullanıcı adı alanı.
CUSTOM_AUTH_PASSWORD_FIELD password İsteklerde kullanılan parola alanı.
additional-fields grant_type: "password" client_id: "admin-cli" Header için eklenecek diğer bilgileri key-value olarak eklenebilir.
CUSTOM_AUTH_USE_QUERY_PARAMS-fields true/false GET isteğinde parametrelerin URL'ye eklenip eklenmeyeceği.
http-status [200, 201, 202] Başarılı login için http status kodları.
CUSTOM_AUTH_ERROR_FIELD error Hatalı login için dönülen error code bilgisinin işlendiği json property bilgisidir.
error-code-mapping wrong_credentials: ${ERROR_MAPPING_WRONG_CREDENTIALS:OAUTH-AUTH_0001} Keysis mesajları ile eşleştirme yapılan parametrelerdi. key(custom server error code)-value(keysis error code)

Mapping Yapılmasında Fayda Olacak Keysis Hata Kodları

Dış servis hata kodu için keycloak örnek verilmiştir. Siz bağlantı kuracağınız custom authentication server'a ait error kodu girmelisiniz.

Dış Servis Hata Kodu İçsel Hata Kodu Açıklama
invalid_grant OAUTH-AUTH_0003 Kullanıcı süresi dolmuş
wrong_credentials OAUTH-AUTH_0001 Yanlış kimlik bilgileri
user_locked OAUTH-AUTH_0004 Kullanıcı kilitli
unauthorized OAUTH-AUTH_0005 Yetkisiz erişim
password_must_be_changed OAUTH-AUTH_0008 Parola değiştirilmeli
authentication_code_wrong OAUTH-AUTH_0009 Hatalı kimlik doğrulama kodu
two_factor_disabled OAUTH-AUTH_0010 İki faktörlü kimlik doğrulama kapalı
unknown_auth_type OAUTH-AUTH_0011 Bilinmeyen kimlik doğrulama tipi
missing_kerberos_token OAUTH-AUTH_0016 Kerberos token eksik
no_mobile_number OAUTH-AUTH_0017 Mobil numara yok
user_inactive OAUTH-AUTH_0021 Kullanıcı aktif değil
account_temporarily_locked OAUTH-AUTH_0022 Hesap geçici olarak kilitli

hvl-ng-framework-theme ile geliştirilmiş Angular uygulamalarında, login ekranında yapılacak istemlerin önceden belirlenmiş bir Custom Identity Provider (CUSTOM_IP) uygulamasına yönlendirilmesi gerekiyorsa, config.json dosyasında supportedAuthenticationTypes ayarı yapılmalıdır:

"supportedAuthenticationTypes": ["CUSTOM_IP"]

Eğer supportedAuthenticationTypes sadece bir değer içeriyorsa, sistem bu değere uygun olarak otomatik çalışır ve kullanıcının seçim yapmasına gerek kalmaz.

Ancak, supportedAuthenticationTypes değeri şöyle bir liste gibi birden fazla seçenek içeriyorsa:

"supportedAuthenticationTypes": ["DB", "LDAP", "CUSTOM_IP"]

Bu durumda, kullanıcıya bir açılır menü sunulacak ve seçim yapması istenecektir. Listede ilk sırada yer alan seçenek varsayılan olarak seçili olur.