miten JSON Web Token (JWT) – todennus toimii?

Header

JWT header koostuu token-tyypistä ja algoritmista, jota käytetään allekirjoittamiseen ja koodaamiseen. Algoritmit voivat olla HMAC, SHA256, RSA, HS256 tai RS256.

{ 
"typ": "JWT",
"alg": "HS256"
}

hyötykuorma

hyötykuorma koostuu istuntodatasta, jota kutsutaan nimellä claims. Alla on joitakin vakio väittää, että voimme käyttää,

  1. liikkeeseenlaskija (iss)
  2. aihe (sub)
  3. yleisö (aud)
  4. vanhenemisaika (exp)
  5. Issued at (iat)
{
"sub": "user10001",
"iat": 1569302116
}

korvausvaatimukset voidaan sisällyttää myös korvausvaatimusjoukkoon. Käytettäessä mukautettuja korvausvaatimusjoukkoja,

  • älä laita suuria tietoja korvausvaatimusjoukkoihin. Vaatimussarjat, jotka on tarkoitettu kompakteiksi.
  • älä laita arkaluonteisia tietoja, sillä JWT voidaan purkaa helposti.
{
"sub": "user10001",
"iat": 1569302116,
"role": "admin",
"user_id": "user10001"
}

allekirjoitus

allekirjoitus on tärkein osa JSON Web Tokenia(JWT). Allekirjoitus lasketaan koodaamalla otsikko ja hyötykuorma Base64url-koodauksella ja yhdistämällä ne jaksonerottimella. Joka sitten annetaan salausalgoritmille.

// signature algorithm
data = base64urlEncode( header ) + "." + base64urlEncode( payload )signature = HMAC-SHA256( data, secret_salt )

joten kun otsikko tai hyötykuorma muuttuu, allekirjoitus on laskettava uudelleen. Vain henkilöllisyyden tarjoajalla(IdP) on yksityinen avain allekirjoituksen laskemiseen, joka estää Tokenin peukaloinnin.

miten se toimii?

periaatteessa identiteetin tarjoaja(IdP) luo JWT-varmennuksen, joka vahvistaa käyttäjän identiteetin ja Resurssipalvelimen dekoodit ja varmistaa poletin aitouden käyttämällä salaista suolaa / julkista avainta.

  1. käyttäjä kirjautuu sisään käyttäjätunnuksella ja salasanalla tai google / Facebookilla.
  2. Authentication server tarkastaa tunnukset ja antaa allekirjoitetun jwt: n käyttäen joko salaista suolaa tai yksityistä avainta.
  3. käyttäjän asiakas käyttää JWT: tä suojattujen resurssien käyttämiseen ohittamalla JWT: n HTTP-valtuutuksen otsikossa.
  4. Resource server varmistaa poletin aitouden salaisen suolan / julkisen avaimen avulla.

Vastaa

Sähköpostiosoitettasi ei julkaista.

More: