DAT
DAT ni mfuatano wa ASCII uliotenganishwa kwa nukta (.). Sehemu huonekana mara moja kwa mpangilio uliowekwa, na sahihi huthibitisha kwamba sehemu zilizotangulia zimebaki kama zilivyotumwa.
expire.cid.plain.secure.signatureSehemu
| Sehemu | Uwakilishi | Maana |
|---|---|---|
expire | Desimali ya namba kamili isiyo na alama | Unix time ambapo DAT inaisha |
cid | Heksadesimali ya herufi ndogo ya namba kamili isiyo na alama | Kitambulisho cha cheti cha uthibitishaji |
plain | Base64Url bila padding | Baiti zisizosimbwa |
secure | Base64Url bila padding | Baiti zinazolindwa kwa algoriti ya usimbaji fiche ya cheti |
signature | Base64Url bila padding | Sahihi ya baiti asili za ASCII za expire.cid.plain.secure |
plain haiwezi kubadilishwa kwa sababu iko ndani ya eneo la sahihi, lakini mtu yeyote anaweza kuidekodi. Weka siri, taarifa binafsi na thamani zinazotumika moja kwa moja katika maamuzi ya ruhusa ndani ya secure. secure tupu pia ni halali.
Uwakilishi sanifu
- DAT yote lazima iwe ASCII.
- Namba huandikwa bila alama, nafasi, kiambishi awali au
0zisizohitajika mwanzoni. Thamani0pekee huandikwa0. - Base64Url hutumia alfabeti salama kwa URL na hairuhusu padding ya
=wala nafasi. - Base64Url isiyo sanifu inayowakilisha baiti zilezile kwa mifuatano tofauti hukataliwa.
- Ikiwa idadi au mpangilio wa sehemu ni tofauti, mfuatano huo si DAT.
Kanuni hizi huzuia utekelezaji tofauti kukubali mifuatano tofauti kama DAT ileile.
Utoaji
- Chagua cheti kinachoweza kutoa tokeni kwa sasa.
- Tengeneza
expirekwa kuongeza TTL ya cheti kwenye wakati wa sasa. - Kodisha
plainkwa Base64Url. - Simba
securekwa algoriti ya usimbaji fiche ya cheti. - Saini baiti za ASCII zinazounganisha sehemu zilizotangulia kwa nukta.
Utoaji unawezekana tu ndani ya kipindi cha cheti start <= now <= start + duration.
Uthibitishaji
- Changanua DAT kwa kanuni za uwakilishi sanifu.
- Hakikisha
expire > now.expire == nowinamaanisha imeisha. - Tafuta cheti cha
cidna uhakikishe kinaweza kuthibitisha. - Thibitisha sahihi ya baiti asili za
expire.cid.plain.secure. - Thibitisha na usimbue
secure, kisha uirudishe pamoja naplain.
API za uchanganuzi zisizothibitisha sahihi ni za uchunguzi au utambuzi pekee. Usitumie matokeo yake kuthibitisha utambulisho au kutoa ruhusa.
Majukumu yaliyo nje ya kiwango
DAT haibainishi hifadhi ya watumiaji, mbinu ya kuingia, modeli ya ruhusa, kichwa cha kusafirisha tokeni wala orodha ya kubatilisha. Programu ndiyo huamua payload iliyothibitishwa iruhusiwe kwa maombi gani.