GirişBaşlarken

ONAYLARIM SSO kullanarak uygulamanıza e-imza ve mobil imza ile giriş özelliği eklemeyi öğrenin.

Kimlik doğrulama işlemi başlatma

Yetkilendirme akışını başlatmak için kullanıcılarınızı ONAYLARIM SSO'nun ilgili sayfasına (https://appsso.onaylarim.com) yönlendirmelisiniz.

Yönlendirme yapacağanız bu adrese bir takım parametreler göndermeniz gerekmektedir.

ParametreAçıklama
actionBu parametre için auth değeri gönderilir.
client_idTarafınızla paylaşılmış, her bir uygulama için belirlenmiş tekil bir ifadedir. Örnek: BC17C98CDAC9
hashSüreci başlatacak uygulama tarafından oluşturulur. Detaylar aşağıda anlatılmıştır.

Hash Değeri Oluşturma

Hash değeri üç bölümden oluşmaktadır. [BirinciBölüm][İkinciBölüm]_[ÜçüncüBölüm] şeklinde düşünülebilir.

Hash değeri aşağıdaki bir değerdir.

202211170936b08290e84f3948d08f99_96b4057313c0acf8f35760765805919c8657d897a13f80e1edcd9100a04e5b45

Birinci Bölüm

BirinciBölüm değeri içinde işlem yapılan tarih bulunur.

202211170936 değeri, aslında 2022-11-17 09:36 şeklinde bir tarihe denk gelmektedir.

Bu değeri oluşturmak için aşağıdaki kod kullanılabilir.

DateTime.Now.ToString("yyyyMMddHHmm")

Gönderilen tarih değeri ile sunucu tarih değeri arasındaki fark toplamda 3 dakikadan az olmalıdır.

İkinci Bölüm

İkinciBölüm değeri rastgele oluşturulmuş 20 karakter uzunluğunda bir değerdir.

Örnek olarak b08290e84f3948d08f99 değeri düşünülebilir.

Bu değeri oluşturmak için aşağıdaki kod kullanılabilir.

Guid.NewGuid().ToString().Replace("-", "").Substring(0, 20)

Üçüncü Bölüm

İkinci bölüm, birinci bölümün belirli bir algoritmaya göre oluşturulmuş özet değeridir. Bu özet değeri oluşturulurken tarafınızla paylaşılmış gizli anahtar kullanılır. Bu anahtarı gizli olarak saklanması gerekmektedir. İkinci bölümü oluşturmak için aşağıdaki kod kullanılabilir.

var ucuncuBolum = HMACHelper.HashHMACHex("--- GİZLİ ANAHTAR ---", birinciBolum + ikinciBölüm);

Hash değerinin final halini oluşturmak için birinci, ikinci ve üçüncü bölüm aşağıdaki gibi birleştirilir.

var hash = birinciBolum + ikinciBolum + "_" + ucuncuBolum;

HMACHelper Sınıfı

Kaynak koda ulaşmak için dotnetfiddle.net linkini kullanabilirsiniz.

Süreci Başlatma

Süreci başlatmak için yukarıda anlatılan şekilde parametreler oluşturularak aşağıdaki URL çağırılır.

https://appsso.onaylarim.com/?action=auth&client_id=AE06611BFCC4&hash=202211170936b08290e84f3948d08f99_96b4057313c0acf8f35760765805919c8657d897a13f80e1edcd9100a04e5b45

Kullanıcı doğru şekilde e-imza, mobil imza atarsa, kullanıcı otomatik olarak uygulamanız için belirlenmiş adrese yönlendirilir.

Uygulama için belirlenmiş yönlendirme adresinin https://uygulamaadresi.com olduğu varsayıldığında, aşağıdaki gibi bir adrese yönlendirme yapılır.

https://uygulamaadresi.com?loginId=47d518ed-c75f-4623-825c-f97c6c1eae0b&sessionId=76974cc4a155

Yönlendirme adresinde bulunan parametreleri kullanarak oturum bilgileri alınabilir.

Oturum Bilgilerini Alma

Bilgileri almak için aşağıdaki URL kullanılır.

https://apisso.onaylarim.com/Authentication/CheckLoginId?client_id=AE06B19BFCC4&login_id=6b7922d7-1e58-45e2-bd9c-4eba130919a5&session_id=4f3c06d650d6&hash=20221117105348631bc3eb4f40b98e38_3f684b044089e1583e9cff69a04cc7786cf1a18fd8f2925eb612375fd5fafd21

ParametreAçıklama
client_idTarafınızla paylaşılmış, her bir uygulama için belirlenmiş tekil bir ifadedir. Örnek: BC17C98CDAC9
login_idYönlendirme adresine gönderilen parametredeki değer kullanılır.
session_idYönlendirme adresine gönderilen parametredeki değer kullanılır.
hashSüreci başlatacak uygulama tarafından oluşturulur. Detaylar yukarıda anlatılmıştır.

Yukarıdaki adrese yapılan GET isteği aşağıdaki sonucu döner.

{
   "result": {
   "citizenshipNo": "13394428978"
   "fileData": "………."
   },
   "error": null
}

citizenshipNo alanı imza atan kişinin vatandaşlık numarasıdır.

fileData alanı, kişinin e-imza attığı bilginin e-imzalı halidir. e-İmzalı belge süreci oluşturan uygulama tarafından saklanmalıdır. ONAYLARIM SSO bu bilgiyi en fazla 1 ay süreyle saklamaktadır.

Cyberpark C Blok No Z50 Bilkent Çankaya Ankara

+90 (312) 265 09 15

© Her hakkı saklıdır.