Custom Authorization Provider

Custom Authorization Provider, özelleştirilmiş bir kimlik doğrulama ve yetkilendirme sistemi oluşturmak amacıyla kullanılan bir yapıdadır. Kullanıcının uygulama içindeki rollerini belirlemek için kullanılır ve uygulama içerisinde her ekranın açılışında, web veya mobil tarafında kullanıcıların hangi rollere sahip olduğunu farklı sistemlerden (örneğin, Azure, özel veritabanları vb.) alarak belirlemeye olanak tanır.

Custom Authorization Provider oluşturmak için şu adımları izleyebilirsiniz:

  1. Data Sources veri kaynağı tipi olarak “C#” (1) seçin, bir isim (2) girin.
  2. Ardından “Custom Authorization Provider” metodunu seçin. 
  3. Daha sonra “CREATE” (3) butonuna tıklayın. 

Oluşturduğunuz Custom Authorization Provider, kullanıcı kimlik doğrulama ve yetkilendirme işlemlerini yöneten bir C# sınıfını temsil eder.

Kuika, kullanıcı için Custom Authorization içerisinde hazır bir C# ön tanımlı fonksiyon sunmaktadır. Bu fonksiyon içerisinde aşağıdaki metodlar ve değişkenler yer almaktadır:

Get Roles Metodu:

Get Roles metodu, kullanıcının uygulama içinde hangi rolleri aldığını döndürmektedir. Bu metod aşağıdaki parametreleri alır:

  • App Id: Uygulamanın benzersiz kimliği (GUID).
  • App Name: Uygulamanın adı.
  • Screen Id: Ekrana özgü benzersiz kimlik (GUID).
  • Screen Name: Ekranın adı.
  • User Name: Kullanıcının e-posta adresi veya kimliği.

return null; Eğer bu özel kimlik doğrulama sistemi, uygulama rollerini özelleştirmek istemiyorsa, bu satır kullanılmalıdır. Bu durumda, varsayılan sistem davranışı korunur ve kullanıcıya herhangi özel bir rol atanmaz.

Kod içinde sağlanan yorumlar, kodun nasıl kullanılması gerektiğine dair önemli bilgiler içerir. Özellikle, geliştiriciye özel roller tanımlamak isteniyorsa, ilgili kodun açılması ve uygun rollerin listesinin burada belirtilen kod parçası yerine eklenmesi gerektiği belirtilir.

Bir uygulamanın kimlik doğrulama ve yetkilendirme işlemlerini özelleştirmek için kullanılabilir. Örneğin, belirli bir ekranda veya uygulama bölümünde çalışanlar için özel roller tanımlamak isteyebilirsiniz. Bu sınıf, bu tür gereksinimleri karşılamak için kullanılabilir ve geliştiricilere rolleri özelleştirmek için bir başlangıç noktası sağlar.