Custom External Token Validator Provider

Custom External Token Validator Provider, harici kimlik sağlayıcılar (SSO, harici auth servisleri, mobil token servisleri vb.) tarafından üretilen token'ların Kuika içinde doğrulanmasını ve yorumlanmasını sağlar. Bu provider sayesinde Kuika dışından gelen erişim token'ları kontrol edilerek kullanıcı bilgileri güvenli şekilde sisteme aktarılır.

Şu durumlarda kullanılabilir:

  • Uygulama harici bir kimlik doğrulama sistemi (SSO, OAuth tabanlı servisler, özel auth servisleri) kullanıyorsa,
  • Kullanıcılar Kuika'ya kullanıcı adı ve şifre yerine harici bir token ile giriş yapıyorsa,
  • Mobil uygulama, gateway veya üçüncü parti sistemlerden gelen token'ların geçerliliği kontrol edilmek isteniyorsa.

Oluşturma adımları:

  1. C# Functions'ı seçin ve bir ad girin.
  2. Template alanından Custom External Token Validator Provider şablonunu seçin.
  3. CREATE butonuna tıklayın.

Custom External Token Validator Sınıfı

Şablondaki sınıf, IExternalTokenValidator arayüzünü uygular ve Kuika'ya gelen harici token'ın doğrulama sürecini yönetir.

TokenProviderType Özelliği

public EExternalTokenProviderTypes TokenProviderType =>    EExternalTokenProviderTypes.External1;

Bu özellik, validator'ın hangi "slot"a bağlı olduğunu belirtir. External1 ile External5 arasında değer alabilir; varsayılan değer External1'dir.

Bir giriş isteği bu validator'a yalnızca aynı slotu belirttiğinde ulaşır. Slot iki şekilde belirtilir:

  • /auth/loginwithtoken isteğinin gövdesindeki providerType alanı ile,
  • Uygulama MFE olarak gömüldüğünde external_provider_type="External1" özniteliği ile.
İkinci bir harici token validator eklerseniz, ona hem farklı bir slot (örneğin External2) hem de farklı bir sınıf adı verin. Tüm validator'lar aynı Kuika.ThirdPartyApisCollection namespace'i içinde oluşturulduğundan, aynı adlı iki sınıf derlenemez.

Validate Metodu

public ExternalTokenResult Validate(ExternalTokenRequest request)

Kuika'ya gelen harici token'ın geçerliliğini kontrol etmek ve doğrulama sonucunda kullanıcı bilgilerini döndürmek için kullanılır.

Görevleri:

  • Gelen TokenString değerinin geçerliliğini doğrulamak
  • Token'a ait kullanıcıyı belirlemek
  • Kuika'nın kullanacağı kimlik bilgilerini döndürmek

Örnek dönüş:

return new ExternalTokenResult(){    RefreshToken = request.RefreshToken,    Token = request.TokenString,    UserName = request.Username,    Name = null,    Surname = null,    PhoneNumber = null};
null dönen alanlar Kuika tarafından geçersiz kabul edilir; null olmayan alanlar Kuika'da aktif olarak kullanılır.

RefreshToken Metodu

public ExternalTokenResult RefreshToken(ExternalRefreshTokenRequest request)

Süresi dolmuş veya yenilenmesi gereken token'ların refresh token üzerinden güncellenmesini sağlar.

Görevleri:

  • Refresh token'ın geçerliliğini doğrulamak
  • Yeni veya güncellenmiş token bilgilerini Kuika'ya döndürmek

Örnek dönüş:

return new ExternalTokenResult(){    RefreshToken = request.RefreshToken,    Token = request.TokenString};