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)
def testProviderHandlingWithHeader(self, mock_time, mock_get_token, mock_parse_verify): providers, expected_verify_calls = self._setupProviderHandlingMocks( mock_time, mock_get_token, mock_parse_verify, request=None, allowed_auth_schemes=('Bearer',), allowed_query_keys=()) parsed_token = users_id_token.get_verified_jwt( providers, self._SAMPLE_AUDIENCES, check_authorization_header=True, check_query_arg=False, cache=self.cache) assert parsed_token == self._SAMPLE_TOKEN_INFO mock_parse_verify.assert_has_calls(expected_verify_calls)
def testProviderHandlingWithHeader(self, mock_time, mock_get_token, mock_parse_verify): providers, expected_verify_calls = self._setupProviderHandlingMocks( mock_time, mock_get_token, mock_parse_verify, request=None, allowed_auth_schemes=('Bearer',), allowed_query_keys=()) parsed_token = users_id_token.get_verified_jwt( providers, self._SAMPLE_AUDIENCES, check_authorization_header=True, check_query_arg=False, cache=self.cache) assert parsed_token == self._SAMPLE_TOKEN_INFO mock_parse_verify.assert_has_calls(expected_verify_calls)
def testProviderHandlingWithBoth(self, mock_time, mock_get_token, mock_parse_verify): mock_request = object() providers, expected_verify_calls = self._setupProviderHandlingMocks( mock_time, mock_get_token, mock_parse_verify, request=mock_request, allowed_auth_schemes=('Bearer',), allowed_query_keys=('access_token',)) parsed_token = users_id_token.get_verified_jwt( providers, self._SAMPLE_AUDIENCES, request=mock_request, cache=self.cache) assert parsed_token == self._SAMPLE_TOKEN_INFO mock_parse_verify.assert_has_calls(expected_verify_calls)
def testProviderHandlingWithBoth(self, mock_time, mock_get_token, mock_parse_verify): mock_request = object() providers, expected_verify_calls = self._setupProviderHandlingMocks( mock_time, mock_get_token, mock_parse_verify, request=mock_request, allowed_auth_schemes=('Bearer',), allowed_query_keys=('access_token',)) parsed_token = users_id_token.get_verified_jwt( providers, self._SAMPLE_AUDIENCES, request=mock_request, cache=self.cache) assert parsed_token == self._SAMPLE_TOKEN_INFO mock_parse_verify.assert_has_calls(expected_verify_calls)