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:
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:
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.