DAT
Belgeler

DAT

DAT, noktalarla (.) ayrılan bir ASCII dizgesidir. Alanlar belirlenmiş sırada birer kez yer alır ve imza, önceki alanların iletildiği biçimde kaldığını doğrular.

expire
uint64 (ondalık)
.
cid
uint64 (onaltılık)
.
plain
Base64Url
.
secure
Base64Url
.
signature
Base64Url
Alan sırası ve ayırıcılar standardın parçasıdır.
text
expire.cid.plain.secure.signature

Alanlar

AlanGösterimAnlam
expireİşaretsiz tamsayının ondalık gösterimiDAT'nin sona erdiği Unix time
cidİşaretsiz tamsayının küçük harfli onaltılık gösterimiDoğrulamada kullanılacak sertifika kimliği
plainDolgusuz Base64UrlŞifrelenmeyen baytlar
secureDolgusuz Base64UrlSertifikanın şifreleme algoritmasıyla korunan baytlar
signatureDolgusuz Base64Urlexpire.cid.plain.secure dizgesinin özgün ASCII baytlarına ait imza

plain imza kapsamında olduğundan değiştirilemez, ancak herkes tarafından çözülebilir. Gizli bilgileri, kişisel bilgileri ve yetkilendirme kararında doğrudan kullanılacak değerleri secure alanına koyun. Boş bir secure alanı da geçerlidir.

Standart gösterim

  • DAT'nin tamamı ASCII olmalıdır.
  • Sayılar işaret, boşluk, önek veya gereksiz baştaki 0 olmadan yazılır. Yalnızca 0 değeri 0 olarak yazılır.
  • Base64Url, URL-safe alfabeyi kullanır; = dolgusu ve boşluğa izin verilmez.
  • Aynı baytları farklı dizgelerle gösteren standart dışı Base64Url reddedilir.
  • Alan sayısı veya sırası farklıysa dizge DAT değildir.

Bu kurallar, farklı uygulamaların farklı dizgeleri aynı DAT olarak kabul etmesini önler.

Token verme

  1. O anda token verebilen sertifikayı seçin.
  2. Geçerli zamana sertifikanın TTL'ini ekleyerek expire değerini oluşturun.
  3. plain verisini Base64Url olarak kodlayın.
  4. secure verisini sertifikanın şifreleme algoritmasıyla şifreleyin.
  5. Önceki alanları noktalarla birleştiren ASCII baytlarını imzalayın.

Token verme yalnızca sertifikanın start <= now <= start + duration aralığında yapılabilir.

Doğrulama

  1. DAT'yi standart gösterim kurallarına göre ayrıştırın.
  2. expire > now olduğunu denetleyin. expire == now ise tokenın süresi dolmuştur.
  3. cid değerine karşılık gelen sertifikayı bulup doğrulanabilir durumda olduğunu denetleyin.
  4. Özgün expire.cid.plain.secure baytlarının imzasını doğrulayın.
  5. secure verisini doğrulayıp şifresini çözün ve plain ile birlikte döndürün.

İmzayı doğrulamayan ayrıştırma API'leri yalnızca gözlem ve tanılama için kullanılır. Bu sonuçlarla kimlik doğrulamayın veya yetki vermeyin.

Standardın dışındaki sorumluluklar

DAT; kullanıcı deposunu, oturum açma yöntemini, yetki modelini, token aktarım başlığını veya iptal listesini belirlemez. Doğrulanmış payload'un hangi isteklere izin vereceğine uygulama karar verir.