Skip to content

Yusufzdmr/KpsTcDogrulamaAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🆔 KPS TC Kimlik Doğrulama API

T.C. Kimlik No doğrulaması için ASP.NET Core Web API

NVİ (Nüfus ve Vatandaşlık İşleri) KPSPublic SOAP servisini kullanarak TC Kimlik No · Ad · Soyad · Doğum Yılı bilgilerinin nüfus kayıtlarıyla uyuşup uyuşmadığını doğrular.

.NET C# Swagger SOAP


📖 Genel Bakış

Kullanıcı kayıt/onay süreçlerinde kimlik doğrulaması gereken sistemler (e-ticaret, fintech, üyelik) için hafif bir doğrulama servisidir. Verilen kimlik bilgilerini NVİ'nin herkese açık KPSPublic servisine iletir ve sonucu true/false olarak döner. KPS Public servisi ücretsiz ve aboneliksizdir; yalnızca internet erişimi gerektirir.

🛠️ Teknolojiler

C# · .NET 8 · ASP.NET Core Web API · WCF/SOAP istemcisi (System.ServiceModel) · Swashbuckle (Swagger/OpenAPI)

✨ Özellikler

  • 🔎 TC Kimlik No + Ad + Soyad + Doğum Yılı ile kimlik doğrulama
  • 🔁 Ad/Soyad otomatik büyük harfe çevrilir (KPS servisi gereği)
  • 📦 Sade JSON yanıtı: { "basarili": true/false }
  • 🧯 Hata yönetimi: istisna durumunda { "hata": "..." }
  • 📑 Geliştirme ortamında otomatik Swagger UI

🌐 API Ucu

Method Yol Açıklama
POST /api/Kps/dogrula Kimlik bilgilerini KPS'e gönderir, doğrulama sonucunu döner

İstek gövdesi:

{ "tcKimlikNo": 10000000146, "ad": "Ali", "soyad": "Yılmaz", "dogumYili": 1990 }

Yanıt:

{ "basarili": true }

🚀 Çalıştırma

Gereksinimler

  • .NET 8 SDK
  • İnternet erişimi (https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx)

⚠️ Önemli — Bağlı Servis (SOAP istemcisi) eklenmeli

Bu API, NVİ KPSPublic servisinin WSDL'inden üretilen KPSPublicSoapClient istemcisini kullanır. Üretilmiş bu kod repoya dahil değildir; ilk derlemeden önce bir kez eklenmelidir:

Visual Studio: Proje → sağ tık → Add → Connected Service → WCF Web Service Reference → URL:

https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL

→ Namespace: KpsTcDogrulamaAPI.KpsService → Finish.

CLI alternatifi:

dotnet tool install --global dotnet-svcutil
dotnet-svcutil "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL" --namespace "*,KpsTcDogrulamaAPI.KpsService"

Derle ve çalıştır

dotnet restore
dotnet run --project KpsTcDogrulamaAPI/KpsTcDogrulamaAPI.csproj
  • API: https://localhost:7197 · http://localhost:5046
  • Swagger: http://localhost:5046/swagger

Gizli anahtar / connection string gerekmez — KPS Public servisi açıktır.


🏛️ Yapı

KpsTcDogrulamaAPI/
├── KpsTcDogrulamaAPI.sln
└── KpsTcDogrulamaAPI/
    ├── Program.cs                 → minimal hosting (controllers + Swagger)
    ├── Controllers/KpsService.cs  → KpsController + TcDogrulamaModel
    └── Properties/launchSettings.json

🔒 Notlar

  • Kişisel veri işlendiği için istemci–sunucu trafiği HTTPS üzerinden olmalıdır (UseHttpsRedirection etkin).
  • Üretim için endpoint'e kimlik doğrulama ve rate limiting eklenmesi önerilir.
  • Çevrimdışı çalışmaz; NVİ servisine erişim şarttır.

📄 Lisans

MIT — bkz. LICENSE.

About

T.C. Kimlik No doğrulama API'si — NVİ KPSPublic SOAP servisi ile, ASP.NET Core (.NET 8).

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages