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.cid.plain.secure.signatureAlanlar
| Alan | Gösterim | Anlam |
|---|---|---|
expire | İşaretsiz tamsayının ondalık gösterimi | DAT'nin sona erdiği Unix time |
cid | İşaretsiz tamsayının küçük harfli onaltılık gösterimi | Doğrulamada kullanılacak sertifika kimliği |
plain | Dolgusuz Base64Url | Şifrelenmeyen baytlar |
secure | Dolgusuz Base64Url | Sertifikanın şifreleme algoritmasıyla korunan baytlar |
signature | Dolgusuz Base64Url | expire.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
0olmadan yazılır. Yalnızca0değeri0olarak 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
- O anda token verebilen sertifikayı seçin.
- Geçerli zamana sertifikanın TTL'ini ekleyerek
expiredeğerini oluşturun. plainverisini Base64Url olarak kodlayın.secureverisini sertifikanın şifreleme algoritmasıyla şifreleyin.- Ö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
- DAT'yi standart gösterim kurallarına göre ayrıştırın.
expire > nowolduğunu denetleyin.expire == nowise tokenın süresi dolmuştur.ciddeğerine karşılık gelen sertifikayı bulup doğrulanabilir durumda olduğunu denetleyin.- Özgün
expire.cid.plain.securebaytlarının imzasını doğrulayın. secureverisini doğrulayıp şifresini çözün veplainile 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.