IDM servisi sayesinde kullanıcılarınızın şifrelerini nasıl karmaşıklıkla oluşturmaları gerektiğine karar verebilirsiniz. IDM’in kullanıcıları şifrelerini oluştururken zorlayabildiği şifre karmaşıklıkları aşağıdaki gibidir.
- Şifre, belirlenen minimum karakter kadar olması sağlanabilir.
- İçerisinde en az bir adet özel karakter olması zorunluluğu sağlanabilir (^(?=.*\p{L})(?=.*\p{N})(?=.*[^\p{L}\p{N}]).{<minlength>,128}$).
- Şifre içerisinde Türkçe karakterlerin olmasının önüne geçebilirsiniz.
- En az bir büyük harf ve bir küçük harf zorunluluğu getirebilirsiniz.
- Şifre içerisinde kullanıcının adı ve soyadı bilgilerini içermemesi kontrolünü koyabilirsiniz.
- Şifre değiştirme esnasında en son belirtilen sayı kadar şifre ile aynı olmaması kontrolünü ekleyebilirsiniz.
- Şifre zaman aşım süresi tanımlayabilir ve belirli süre sonunda kullanıcıların şifrelerini değiştirmelerine zorlayabilirsiniz.
Tüm bahsedilen politikaların kontrolü için IDM üzerinde api mevcuttur. Api Curl isteği aşağıdaki gibidir.
Curl isteği:
curl --location --request POST 'http://dev-linux.logo-paas.com:5100/api/password/check' \ |
Response:
{ { "ResultCode": "PAS_0005", "Message": "Belirlenen şifre en az bir büyük harf içermelidir. Lütfen farklı bir şifre belirleyiniz." }, { "ResultCode": "PAS_0007", "Message": "Belirlenen şifre en az bir sayı içermelidir. Lütfen farklı bir şifre belirleyiniz." }, { "ResultCode": "PAS_0008", "Message": "Belirlenen şifre en az bir özel karakter içermelidir. Lütfen farklı bir şifre belirleyiniz." } ] |
Ayrıca, IDM'e yapılan şifre politikalarını doğrulama talebinden dönen bilgilerin anlamlandırılabilmesi için bir takım kodlar oluşturulmuştur. Şifre politika doğrulama talebi yapıldıktan sonra dönen response içerisinde yer alan "ResultCode" 'lar ve açıklamaları aşağıdaki gibidir.
ResultCode | Açıklama |
PAS_0001 | Şifre en az belirtilen uzunlukta olmalıdır. |
PAS_0002 | Şifre belirtilen şifre politikası kuralına uymalıdır. (^(?=.*\p{L})(?=.*\p{N})(?=.*[^\p{L}\p{N}]).{<minlength>,128}$) |
PAS_0003 | Belirlenen şifre içerisinde (ı, İ, ğ, Ğ, ö, Ö, ü, Ü, ş, Ş, ç, Ç) gibi karakterler olmamalıdır. |
PAS_0004 | Belirlenen şifre kullanıcının isimi ve soyadını içeremez. |
PAS_0005 | Belirlenen şifre en az bir büyük harf içermelidir. |
PAS_0006 | Belirlenen şifre en az bir küçük harf içermelidir. |
PAS_0007 | Belirlenen şifre en az bir sayı içermelidir. |
PAS_0008 | Belirlenen şifre en az bir özel karakter içermelidir. |
PAS_0009 | Şifreniz son n şifrenizden farklı olmalıdır. |
PAS_0010 | Eski şifrenizi n zaman sonra yeniden kullanabilirsiniz. |
Bir kullanıcının şifresi değiştirilirken "/legacy/idp/api/password/change", "/api/legacy/idp/password/change" ve "/api/users/password" api uçları kullanılabilir. Ayrıca "/legacy/idp/api/password/change" ve "/api/legacy/idp/password/change" uçları kullanılarak süreçte kullanılan sonuç kodları elde edilebilir.
Curl isteği:
curl --location --request PUT 'http://test-services-b.logo-paas.com:5101/legacy/idp/api/password/change' \ |
Başarılı Response:
{ |
Başarısız Response:
{ |
Ayrıca, IDM'e yapılan şifre değiştirme talebinden dönen bilgilerin anlamlandırılabilmesi için bir takım kodlar oluşturulmuştur. Şifre değiştirme talebi yapıldıktan sonra dönen response içerisinde yer alan "ResultCode" 'lar ve açıklamaları aşağıdaki gibidir.
ResultCode | Açıklama |
PC_0000 | Şifre değiştirme başarılı |
PC_0001 | Eski şifre gereklidir. |
PC_0002 | Yeni şifre gereklidir. |
PC_0003 | Eski şifre ve yeni şifre birbirinin aynısı olamaz. |
PC_9999 | Tanımlanamayan hata |
NOT: Şifre değiştirme işlemi sırasında mevcut kullanıcının da tüm doğrulama işlemleri yeniden uygulandığı için Bu result_code'larının yanında kullanıcı token talebinde bulunurken dönen result_code'lar da dönmektedir. Token talebinde dönen result_code'lara BURADAN erişebilirsiniz. Bununla birlikte yeni şifre verilirken uygulanan bir takım şifre değiştirme politikaları mevcut. Yeni bir şifre elde etme adımında kullanıcı doğrulamaları yapıldıktan sonra alınmak istenen yeni şifre için de uygulanan şifre politikaları için ayrıca result_code'lar dönmektedir. Şifre politikaları kontrolünde dönen result_code'lara da BURADAN erişebilirsiniz.