Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Uygulamaların kullanıcı veritabanını tutarak, kullanıcı kayıt ve giriş işlemleri güvenli olarak yönetir.

Genel Bakış

Logo PaaS platformunda kullanıcı yönetimi işlemlerini yerine getirir. IDM servisi, kullanıcı arayüzü veya API uçları ile uygulamanıza entegre edilebilir. 

IDM servisi ortak kullanıcı havuzu yapısı ile platform servisleri ve uygulamalar arasında tek oturum açma (SSO - Single Sign On) desteği sunar. Kullanıcı oturum kapatma(log out) işleminde kullanıcıyı ister ilgili uygulamadan, isterseniz tüm PaaS uygulamalarından çıkış yaptırabilirsiniz.

Uluslararası Oauth 2.0 protokoküne uygun olarak erişim bileti (access token) ve şifre onayı (password grant) operasyonlarını destekler. Bu protokoI yardımıyla, IDM servisi üzerinden diğer kimlik yönetim sistemlerinde kayıtlı (Google, Facebook ) kullanıcılar ile giriş yapabilirsiniz. IDM servisi, son kullanıcılara ait şifreleri veritabanında şifrelemektedir. Geliştiriciler veya operasyon ekipleri bu şifrelere hiç bir şekilde erişemez. Şifre değiştirme işlemleri son kullanıcı tarafından onay mekanizması ile değiştirilebilir.

Kullanım Senaryoları

  • Merkezi kullanıcı listesi oluşturma

  • Kullanıcı kayıt işlemleri

  • Kullanıcı oturum açma (login) 
  • Kullanıcı oturum kapatma(log out) 
  • Güvenli şifre kayıt 
  • Şifre sıfırlama
  • Excelden kullanıcı aktarımı

Kullanıcı Arayüzü

Kullanıcı Oturum Açma

Image Removed

Şifremi Unuttum

Image Removed

Teknik Özellikler

  • Oauth 2.0 standardı

API Dokümantasyonu

Swagger UI: http://dev-linux.logo-paas.com:5100/api-docs/

IDM Yönetici Paneli

Swagger UI: http://dev-linux.logo-paas.com:5100/idmweb/

IDM Konfigurasyon Paneli

Swagger UI: http://dev-linux.logo-paas.com:5100/settings/ui/

İlişkili Platform Servisleri

  • RBMS: MsSQL veya PostgreSQL
  • NoSQL (multiple instance çalışma durumunda session storage olarak): MongoDB
  • Apache Kafka
  • CloudControl Servis

IDM'e Uygulama Kaydetme

1- IDM sistemine yeni bir uygulama kaydetmek için öncelikle, aşağıdaki adrese çağrı yapılarak geçici erişim anahtarı alınmalıdır. Üretilen geçici anahtar expireinmins süresi kadar geçerli olacaktır.

http://idmadresi/api/login/generate/DB8C2EE8-CE4A-40A2-A6DA-C5B99897A7FC/expireinmins=50

 

Image Removed

2- IDM Swagger UI üzerinden /api/security/{id} ucu ile yeni uygulamanın bilgileri kaydedilebilir.

...

Image Removed

3- Kaydedilen uygulama IDM Swagger UI üzerinden /api/security/{id}/validate ucu ile doğrulanabilir

Image Removed

Image Removed

IDM'e Kullanarak Access Token Alma

Uygulama kaydı yapıldıktan sonra IDM sistemi üzerinden access token 3 farklı şekilde alınabilir.

1- Rest çağrısı ile backend üzerinden token alma

Uygulama backendi üzerinden IDM UI'a yönlendirme yapmaksızın access token almak için aşağıdaki çağrı yapılabilir.

  • Client_id ve secret için ilgili uygulamanın bilgileri kullanılmalıdır.
  • grant_type=password parametresi sabit olarak gönderilmelidir.

Image Removed

2- SecuritySecret kullanılmadan redirecturi kontrolü ile IDM login ekranı kullanılarak access token alma

Security secret'ın kullanılamadığı ve sadece front-end kodun bulunduğu ortamlarda IDM üzerinden token almak için, aşağıdaki adres formatında bold ile yazılan kısımlar değiştirilerek IDM login ekranına yönlendirme yapılması sağlanabilir.

Bu yöntem redirecturi konfigurasyonu gerektirdiği için ihtiyaç olmadıkça kullanılmamalıdır. Bunun yerine bir sonraki başlıkta anlatılan 3. yöntem önerilmektedir.

http://idmadresi/connect/authorize?client_id=securityid&scope=vendorExtensions&response_type=token&redirect_uri=urlencoded_redirecturi

Örnek:  http://stg-idm.vyapari-mumbai.com/connect/authorize?client_id=ca3ca995-3b1e-4e01-81e1-1f226686a3f7&scope=vendorExtensions&response_type=token&redirect_uri=http%3A%2F%2Fwww.logo.com.tr%2F

Image Removed

Giriş yapıldıktan sonra IDM redirect uri'de belirtilen adrese browser'ı yönlendirecek ve url fragment formatında access token'ı url'e ekleyecektir.

Image Removed

Not: Bu yöntemin kullanılabilmesi için uygulama kaydı yapılırken GrantType: "Implicit" olarak belirlenmeli ve RedirectUri bölümü doldurulmalıdır. IDM api'leri üzerinden bu bilgiler değiştirilebileceği gibi, AuthorizationWeb UI uygulama güvenliği menüsü üzerinden ilgili uygulama için bu bilgiler güncellenebilir.

Image Removed Image Removed

3- SecuritySecret ile IDM login ekranı kullanılarak (2 aşamalı) access token alma

IDM kullanımında Single Signon operasyonları için önerilen yöntemdir. 2 aşamalı olarak çalışmaktadır;

...

  • İkinci aşamada uygulama gelen "code" bilgisini alıp backend'de IDM'e bu bilgiyi ileterek asıl access token'ı alır. Redirect uri olarak ilk çağrıda gönderilen adres aynı şekilde post body'de parametre olarak iletilmelidir.
    Image Removed

Not: Bu yöntemin kullanılabilmesi için uygulama kaydı yapılırken GrantType: "AuthorizationCode" (default değer) olarak belirtilmiş olmalıdır. RedirectUri verilmesine gerek yoktur.

IDM'den logout olma

IDM login ekranı kullanılarak alınan access token'ların invalide edilmesi ve Single Sign On oturumunun düşürülmesi için idm'in logout ucu aşağıdaki şekilde çağrılmalıdır.

  • Bu çağrı yapıldığında aktif kullanıcı için yaratılan bütün token'lar invalide edilmekte ve IDM login arayüzü üzerinden açılmış olan (başka bir uygulamadan idm'e yönlendirme yapıldığında önceden açılmış bir oturum varsa tekrar kullanıcı adı ve şifre sorulmasını engelleyen) oturum sonlandırılır.
  • Logout işleminden sonra aşağıda urlencoded_redirect_uri olarak belirtilen adrese yönlendirme yapılır.

http://idmadresi/account/logout?redirect_uri=urlencoded_redirecturi&forcesignout=True&appid=securityid

Örnekhttp://stg-idm.vyapari-mumbai.com/account/logout?redirect_uri=http://stg-services-b.vyapari-mumbai.com/authorizationweb/Home/Menu&forcesignout=True&appid=e172fe44-8a84-4759-aceb-0b65c6d35e19