From 66afa24bfe53afbd6d95311983c996505c2c6abd Mon Sep 17 00:00:00 2001 From: Nimisha Asthagiri <nasthagiri@edx.org> Date: Tue, 10 Jul 2018 17:34:35 -0400 Subject: [PATCH] Authn: Remove unneeded openid-configuration View --- .../oauth_dispatch/tests/test_views.py | 31 ------------------- .../core/djangoapps/oauth_dispatch/urls.py | 1 - .../core/djangoapps/oauth_dispatch/views.py | 19 ------------ 3 files changed, 51 deletions(-) diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py index a58516e7e0d..635eda8af6f 100644 --- a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py +++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py @@ -646,34 +646,3 @@ class TestRevokeTokenView(AccessTokenLoginMixin, _DispatchingViewTestCase): # p Tests invalidation/revoke of user access token for django-oauth-toolkit """ self.verify_revoke_token(self.access_token) - - -@unittest.skipUnless(OAUTH_PROVIDER_ENABLED, 'OAuth2 not enabled') -class ProviderInfoViewTests(TestCase): - DOMAIN = 'testserver.fake' - - def build_url(self, path): - return 'http://{domain}{path}'.format(domain=self.DOMAIN, path=path) - - def test_get(self): - issuer = 'test-issuer' - self.client = self.client_class(SERVER_NAME=self.DOMAIN) - - expected = { - 'issuer': issuer, - 'authorization_endpoint': self.build_url(reverse('authorize')), - 'token_endpoint': self.build_url(reverse('access_token')), - 'end_session_endpoint': self.build_url(reverse('logout')), - 'token_endpoint_auth_methods_supported': ['client_secret_post'], - 'access_token_signing_alg_values_supported': ['RS512', 'HS256'], - 'scopes_supported': ['openid', 'profile', 'email'], - 'claims_supported': ['sub', 'iss', 'name', 'given_name', 'family_name', 'email'], - 'jwks_uri': self.build_url(reverse('jwks')), - } - - with override_settings(JWT_AUTH={'JWT_ISSUER': issuer}): - response = self.client.get(reverse('openid-config')) - - self.assertEqual(response.status_code, 200) - actual = json.loads(response.content) - self.assertEqual(actual, expected) diff --git a/openedx/core/djangoapps/oauth_dispatch/urls.py b/openedx/core/djangoapps/oauth_dispatch/urls.py index 6fb7e8198f2..6bf4125f8b9 100644 --- a/openedx/core/djangoapps/oauth_dispatch/urls.py +++ b/openedx/core/djangoapps/oauth_dispatch/urls.py @@ -12,7 +12,6 @@ urlpatterns = [ url(r'^authorize/?$', csrf_exempt(views.AuthorizationView.as_view()), name='authorize'), url(r'^access_token/?$', csrf_exempt(views.AccessTokenView.as_view()), name='access_token'), url(r'^revoke_token/?$', csrf_exempt(views.RevokeTokenView.as_view()), name='revoke_token'), - url(r'^\.well-known/openid-configuration/?$', views.ProviderInfoView.as_view(), name='openid-config'), ] if settings.FEATURES.get('ENABLE_THIRD_PARTY_AUTH'): diff --git a/openedx/core/djangoapps/oauth_dispatch/views.py b/openedx/core/djangoapps/oauth_dispatch/views.py index 9a521b1fda7..3874d62d591 100644 --- a/openedx/core/djangoapps/oauth_dispatch/views.py +++ b/openedx/core/djangoapps/oauth_dispatch/views.py @@ -185,22 +185,3 @@ class RevokeTokenView(_DispatchingView): Dispatch to the RevokeTokenView of django-oauth-toolkit """ dot_view = dot_views.RevokeTokenView - - -class ProviderInfoView(View): - def get(self, request, *args, **kwargs): - data = { - 'issuer': settings.JWT_AUTH['JWT_ISSUER'], - 'authorization_endpoint': request.build_absolute_uri(reverse('authorize')), - 'token_endpoint': request.build_absolute_uri(reverse('access_token')), - 'end_session_endpoint': request.build_absolute_uri(reverse('logout')), - 'token_endpoint_auth_methods_supported': ['client_secret_post'], - # NOTE (CCB): This is not part of the OpenID Connect standard. It is added here since we - # use JWS for our access tokens. - 'access_token_signing_alg_values_supported': ['RS512', 'HS256'], - 'scopes_supported': ['openid', 'profile', 'email'], - 'claims_supported': ['sub', 'iss', 'name', 'given_name', 'family_name', 'email'], - 'jwks_uri': request.build_absolute_uri(reverse('jwks')), - } - response = JsonResponse(data) - return response -- GitLab