Ejemplo n.º 1
0
 def testProviderHandling(self):
   self.mox.StubOutWithMock(time, 'time')
   time.time().AndReturn(self._SAMPLE_TIME_NOW)
   self.mox.StubOutWithMock(users_id_token, '_get_token')
   users_id_token._get_token(
       request=None, allowed_auth_schemes=('Bearer',), allowed_query_keys=()).AndReturn(self._SAMPLE_TOKEN)
   providers = [{
     'issuer': self._SAMPLE_ISSUERS[0][::-1],
     'cert_uri': self._SAMPLE_CERT_URI[0][::-1],
   }, {
     'issuer': self._SAMPLE_ISSUERS[0],
     'cert_uri': self._SAMPLE_CERT_URI[0],
   }]
   self.mox.StubOutWithMock(users_id_token, '_parse_and_verify_jwt')
   users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       (providers[0]['issuer'],), self._SAMPLE_AUDIENCES,
       providers[0]['cert_uri'], self.cache).AndReturn(None)
   users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       (providers[1]['issuer'],), self._SAMPLE_AUDIENCES,
       providers[1]['cert_uri'], self.cache).AndReturn(self._SAMPLE_TOKEN_INFO)
   self.mox.ReplayAll()
   parsed_token = users_id_token.get_verified_jwt(
       providers, self._SAMPLE_AUDIENCES, cache=self.cache)
   self.mox.VerifyAll()
   self.assertEqual(parsed_token, self._SAMPLE_TOKEN_INFO)
Ejemplo n.º 2
0
 def testBadBase64(self):
     # 2.1.0 had an issue where malformed Base64 tokens would throw an
     # exception instead of returning None
     token = 'e' + self._SAMPLE_TOKEN
     parsed_token = users_id_token._parse_and_verify_jwt(
         token, self._SAMPLE_TIME_NOW, self._SAMPLE_ISSUERS,
         self._SAMPLE_AUDIENCES, self._SAMPLE_CERT_URI, self.cache)
     self.assertIsNone(parsed_token)
 def testBadBase64(self):
   # 2.1.0 had an issue where malformed Base64 tokens would throw an
   # exception instead of returning None
   token = 'e' + self._SAMPLE_TOKEN
   parsed_token = users_id_token._parse_and_verify_jwt(
       token, self._SAMPLE_TIME_NOW,
       self._SAMPLE_ISSUERS, self._SAMPLE_AUDIENCES,
       self._SAMPLE_CERT_URI, self.cache)
   self.assertIsNone(parsed_token)
Ejemplo n.º 4
0
 def testMissingAudience(self):
   parsed_token = users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       self._SAMPLE_ISSUERS, (),
       self._SAMPLE_CERT_URI, self.cache)
   self.assertIsNone(parsed_token)
Ejemplo n.º 5
0
 def testBadAudience(self):
   parsed_token = users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       self._SAMPLE_ISSUERS, ('foobar.appspot.com',),
       self._SAMPLE_CERT_URI, self.cache)
   self.assertIsNone(parsed_token)
Ejemplo n.º 6
0
 def testMissingIssuer(self):
   parsed_token = users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       (), self._SAMPLE_AUDIENCES,
       self._SAMPLE_CERT_URI, self.cache)
   self.assertIsNone(parsed_token)
Ejemplo n.º 7
0
 def testBadIssuer(self):
   parsed_token = users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       ('*****@*****.**',), self._SAMPLE_AUDIENCES,
       self._SAMPLE_CERT_URI, self.cache)
   self.assertIsNone(parsed_token)
Ejemplo n.º 8
0
 def testSampleToken(self):
   parsed_token = users_id_token._parse_and_verify_jwt(
       self._SAMPLE_TOKEN, self._SAMPLE_TIME_NOW,
       self._SAMPLE_ISSUERS, self._SAMPLE_AUDIENCES,
       self._SAMPLE_CERT_URI, self.cache)
   self.assertEqual(parsed_token, self._SAMPLE_TOKEN_INFO)