hvordan fungerer json Web Token(JWT) autentisering?

Header

JWT header består av token type og algoritme som brukes til signering og koding. Algoritmer kan VÆRE HMAC, SHA256, RSA, HS256 eller RS256.

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

Nyttelast

Nyttelast består av øktdataene som kalles krav. Nedenfor er noen av de standard krav som vi kan bruke,

  1. Utsteder (iss)
  2. Emne(under)
  3. Målgruppe (aud)
  4. Utløpstid (exp)
  5. Utstedt på (iat)
{
"sub": "user10001",
"iat": 1569302116
}

Tilpassede krav kan også inkluderes i kravsettet. Når du bruker egendefinerte kravsett,

  • ikke legg store data i kravsett. Krav sett ment å være kompakt.
  • ikke legg sensitiv informasjon siden, JWT kan dekodes enkelt.
{
"sub": "user10001",
"iat": 1569302116,
"role": "admin",
"user_id": "user10001"
}

Signatur

Signatur er den viktigste delen AV ET Json Webtoken(JWT). Signaturen beregnes ved å kode toppteksten og nyttelasten Ved Hjelp Av Base64url-Koding og sammenkjede dem med en periodeseparator. Som deretter er gitt til kryptografisk algoritme.

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

så når overskriften eller nyttelasten endres, må signaturen beregnes igjen. Bare Identitetsleverandøren (IdP) har den private nøkkelen til å beregne signaturen som forhindrer manipulering av token.

hvordan fungerer det?

i Utgangspunktet genererer identitetsleverandøren(IdP) EN jwt-sertifisert brukeridentitet og Ressursserver dekoder og verifiserer autentisiteten til token ved hjelp av hemmelig salt / offentlig nøkkel.

  1. pålogging Med brukernavn og passord eller google / facebook.
  2. Godkjenningsserver verifiserer legitimasjonen og utsteder en jwt-signert med enten en hemmelig salt eller en privat nøkkel.
  3. Brukerens Klient bruker JWT til å få tilgang til beskyttede ressurser ved å sende JWT I HTTP-Autorisasjonshodet.
  4. Resource server verifiserer deretter autentisiteten til token ved hjelp av den hemmelige salt / offentlige nøkkelen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

More: