def test_token_auth(admin_user, rf): url = reverse('oidc_provider:userinfo') request = rf.post(url, data={}, content_type='multipart/form-data') token = create_oidc_token(create_oidc_client(), admin_user, request) request.META['HTTP_AUTHORIZATION'] = 'Bearer {0}'.format( token.access_token) response = userinfo(request) assert response.status_code == 200
def test_token_auth(self): url = reverse('oidc_provider:userinfo') request = self.factory.post(url, data={}, content_type='multipart/form-data') token = self._create_token(self.admin, self.client[0], request) request.META['HTTP_AUTHORIZATION'] = 'Bearer {0}'.format( token.access_token) response = userinfo(request) self.assertTrue(response.status_code, 200)
def test_options_request_without_token(self): request = self.factory.options(self.url) request.META['HTTP_ORIGIN'] = "test.example.com" response = userinfo(request) expected_headers = { "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Credentials": "true", "Access-Control-Allow-Origin": "test.example.com", } self.assertEqual(response.status_code, 200) for key, value in expected_headers.items(): self.assertEqual(response[key], value)
def _post_request(self, access_token, schema='Bearer'): """ Makes a request to the userinfo endpoint by sending the `post_data` parameters using the 'multipart/form-data' format. """ url = reverse('oidc_provider:userinfo') request = self.factory.post(url, data={}, content_type='multipart/form-data') request.META['HTTP_AUTHORIZATION'] = schema + ' ' + access_token response = userinfo(request) return response
def _post_request(self, access_token, schema='Bearer'): """ Makes a request to the userinfo endpoint by sending the `post_data` parameters using the 'multipart/form-data' format. """ request = self.factory.post(self.url, data={}, content_type='multipart/form-data') request.META['HTTP_AUTHORIZATION'] = schema + ' ' + access_token response = userinfo(request) return response
def test_accesstoken_query_string_parameter(self): """ Make a GET request to the UserInfo Endpoint by sending access_token as query string parameter. """ token = self._create_token() url = reverse('oidc_provider:userinfo') + '?' + urlencode({ 'access_token': token.access_token, }) request = self.factory.get(url) response = userinfo(request) self.assertEqual(response.status_code, 200) self.assertEqual(bool(response.content), True)
def _post_request(self, access_token): """ Makes a request to the userinfo endpoint by sending the `post_data` parameters using the 'multipart/form-data' format. """ url = reverse('oidc_provider:userinfo') request = self.factory.post(url, data={}, content_type='multipart/form-data') request.META['HTTP_AUTHORIZATION'] = 'Bearer ' + access_token response = userinfo(request) return response
def _get_userinfo(self, access_token): url = reverse('oidc_provider:userinfo') request = self.factory.get(url) request.META['HTTP_AUTHORIZATION'] = 'Bearer ' + access_token return userinfo(request)