Exemple #1
0
 def test_decodeencode_header_rs256(self):
     # Example from https://tools.ietf.org/html/rfc7515#appendix-A.2
     encoded_header = b'eyJhbGciOiJSUzI1NiJ9'
     json_header = _jwt_format.decode_header(encoded_header)
     self.assertEqual(json_header['alg'], 'RS256')
     self.assertEqual(
         _jwt_format.decode_header(_jwt_format.encode_header(json_header)),
         json_header)
Exemple #2
0
 def test_decodeencode_header_hs256(self):
     # Example from https://tools.ietf.org/html/rfc7515#appendix-A.1
     encoded_header = b'eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9'
     json_header = _jwt_format.decode_header(encoded_header)
     self.assertEqual(json_header['alg'], 'HS256')
     self.assertEqual(json_header['typ'], 'JWT')
     self.assertEqual(
         _jwt_format.decode_header(_jwt_format.encode_header(json_header)),
         json_header)
Exemple #3
0
 def test_create_header_with_type(self):
     encoded_header = _jwt_format.create_header('HS256', 'typeHeader', None)
     json_header = _jwt_format.decode_header(encoded_header)
     self.assertEqual(json_header, '{"alg":"HS256","typ":"typeHeader"}')
     header = _json_util.json_loads(json_header)
     _jwt_format.validate_header(header, 'HS256')
     self.assertEqual(_jwt_format.get_type_header(header), 'typeHeader')
Exemple #4
0
 def test_create_header_with_type_and_kid(self):
   encoded_header = _jwt_format.create_header('HS256', 'typeHeader', 'GsapRA')
   json_header = _jwt_format.decode_header(encoded_header)
   self.assertEqual(json_header,
                    '{"kid":"GsapRA","alg":"HS256","typ":"typeHeader"}')
   header = _jwt_format.json_loads(json_header)
   _jwt_format.validate_header(header, 'HS256')
   self.assertEqual(_jwt_format.get_type_header(header), 'typeHeader')
Exemple #5
0
 def test_decode_header_with_invalid_utf8(self):
     encoded_header = _jwt_format.base64_encode(
         b'{"alg":"RS256", "bad":"\xc2"}')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format.decode_header(encoded_header)
Exemple #6
0
 def test_encode_decode_header(self):
     encoded_header = _jwt_format.encode_header('{ "alg": "RS256"} ')
     json_header = _jwt_format.decode_header(encoded_header)
     self.assertEqual(json_header, '{ "alg": "RS256"} ')
Exemple #7
0
 def test_create_verify_different_algorithms_fails(self):
     encoded_header = _jwt_format.create_header('HS256', None, None)
     json_header = _jwt_format.decode_header(encoded_header)
     header = _json_util.json_loads(json_header)
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format.validate_header(header, 'ES256')
Exemple #8
0
 def test_create_validate_header(self, algorithm):
     encoded_header = _jwt_format.create_header(algorithm, None, None)
     json_header = _jwt_format.decode_header(encoded_header)
     header = _json_util.json_loads(json_header)
     _jwt_format.validate_header(header, algorithm)
     self.assertIsNone(_jwt_format.get_type_header(header))
Exemple #9
0
 def testdecode_header_without_quotes(self):
     encoded_header = _jwt_format._base64_encode(b'{alg:"RS256"}')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format.decode_header(encoded_header)
Exemple #10
0
 def testdecode_header(self):
     encoded_header = _jwt_format._base64_encode(b'{"alg":"RS256"}')
     json_header = _jwt_format.decode_header(encoded_header)
     self.assertEqual(json_header['alg'], 'RS256')
Exemple #11
0
 def test_create_validate_header(self, algorithm):
     encoded_header = _jwt_format.create_header(algorithm)
     header = _jwt_format.decode_header(encoded_header)
     _jwt_format.validate_header(header, algorithm)