Steps to validate a JWT 

Step Validation Expected result (by environments)
Signature Verification
1 Decode the JWT. The header and the payload are encoded and separated by "." (period)  
2 Read the header section and look for "jku" and "kid" claims  
3 Download the JWKS from the url provided in the "jku" claim  
4 Read the "n" attribute for the given "kid" claim  
5 Check the algorithm used to sign the payload using the "alg" claim from the header section  
6 Use the "n" value from the JWKS to validate the signature of the JWT payload. Proceed to next step if signature is valid Integrity of the token is intact
Additional Security Validations (JWT validation beyond signatures)
7 verify nonce nonce must match the nonce provided during token request
8 verify expiry (exp) Current time should be prior to the value in the expiry (exp) claim.