diff --git a/cms/envs/common.py b/cms/envs/common.py index 2665927f21..6157e6e408 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1357,11 +1357,6 @@ INSTALLED_APPS = [ # Catalog integration 'openedx.core.djangoapps.catalog', - # django-oauth2-provider (deprecated) - 'provider', - 'provider.oauth2', - 'edx_oauth2_provider', - # django-oauth-toolkit 'oauth2_provider', diff --git a/common/djangoapps/third_party_auth/migrations/0001_initial.py b/common/djangoapps/third_party_auth/migrations/0001_initial.py index a17702582d..0f98bc5e9a 100644 --- a/common/djangoapps/third_party_auth/migrations/0001_initial.py +++ b/common/djangoapps/third_party_auth/migrations/0001_initial.py @@ -11,7 +11,6 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('oauth2', '0001_initial'), ] operations = [ @@ -59,18 +58,6 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'Provider Configuration (OAuth)', }, ), - migrations.CreateModel( - name='ProviderApiPermissions', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('provider_id', models.CharField(help_text=u'Uniquely identify a provider. This is different from backend_name.', max_length=255)), - ('client', models.ForeignKey(to='oauth2.Client', on_delete=models.CASCADE)), - ], - options={ - 'verbose_name': 'Provider API Permission', - 'verbose_name_plural': 'Provider API Permissions', - }, - ), migrations.CreateModel( name='SAMLConfiguration', fields=[ diff --git a/common/test/db_fixtures/oauth.json b/common/test/db_fixtures/oauth.json deleted file mode 100644 index 7f6425bb9d..0000000000 --- a/common/test/db_fixtures/oauth.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "fields": { - "client_id": "test-id", - "client_secret": "test-secret", - "client_type": 0, - "name": "Test OAuth2 Client", - "redirect_uri": "http://does-not-exist/", - "url": "http://does-not-exist/", - "user": null - }, - "model": "oauth2.client", - "pk": 3 - } -] diff --git a/common/test/db_fixtures/programs_client.json b/common/test/db_fixtures/programs_client.json deleted file mode 100644 index 6d5a78fd7f..0000000000 --- a/common/test/db_fixtures/programs_client.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "pk": 2, - "model": "oauth2.client", - "fields": { - "name": "programs", - "url": "http://example.com/", - "client_type": 1, - "redirect_uri": "http://example.com/welcome", - "user": null, - "client_id": "programs-client-id", - "client_secret": "programs-client-secret" - } - } -] diff --git a/lms/envs/common.py b/lms/envs/common.py index a2a2999282..f24110c04a 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -560,20 +560,6 @@ OPENID_PROVIDER_TRUSTED_ROOTS = ['cs50.net', '*.cs50.net'] OAUTH_OIDC_ISSUER = 'http://127.0.0.1:8000/oauth2' -# OpenID Connect claim handlers - -OAUTH_OIDC_ID_TOKEN_HANDLERS = ( - 'edx_oauth2_provider.oidc.handlers.BasicIDTokenHandler', - 'edx_oauth2_provider.oidc.handlers.ProfileHandler', - 'edx_oauth2_provider.oidc.handlers.EmailHandler', -) - -OAUTH_OIDC_USERINFO_HANDLERS = ( - 'edx_oauth2_provider.oidc.handlers.BasicUserInfoHandler', - 'edx_oauth2_provider.oidc.handlers.ProfileHandler', - 'edx_oauth2_provider.oidc.handlers.EmailHandler', -) - OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS = 365 OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS = 30 @@ -2293,11 +2279,6 @@ INSTALLED_APPS = [ # Student support tools 'support', - # django-oauth2-provider (deprecated) - 'provider', - 'provider.oauth2', - 'edx_oauth2_provider', - # django-oauth-toolkit 'oauth2_provider', 'openedx.core.djangoapps.oauth_dispatch.apps.OAuthDispatchAppConfig', diff --git a/lms/templates/provider/authorize.html b/lms/templates/provider/authorize.html deleted file mode 100644 index 8387c21b20..0000000000 --- a/lms/templates/provider/authorize.html +++ /dev/null @@ -1,70 +0,0 @@ -## mako - -<%page expression_filter="h"/> - -<%! -from django.utils.translation import ugettext as _ -from provider.templatetags.scope import scopes -from django.urls import reverse -from openedx.core.djangolib.markup import HTML, Text -%> - -<%inherit file="../main.html"/> - -<%block name="bodyclass">oauth2%block> - -<%block name="body"> -
-%block> diff --git a/lms/urls.py b/lms/urls.py index b0ff293088..d141946a33 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -836,14 +836,10 @@ if settings.FEATURES.get('ENABLE_OAUTH2_PROVIDER'): # These URLs dispatch to django-oauth-toolkit or django-oauth2-provider as appropriate. # Developers should use these routes, to maintain compatibility for existing client code url(r'^oauth2/', include('openedx.core.djangoapps.oauth_dispatch.urls')), - # These URLs contain the django-oauth2-provider default behavior. It exists to provide - # URLs for django-oauth2-provider to call using reverse() with the oauth2 namespace, and - # also to maintain support for views that have not yet been wrapped in dispatch views. - url(r'^oauth2/', include(('edx_oauth2_provider.urls', 'edx_oauth2_provider'), namespace='oauth2')), # The /_o/ prefix exists to provide a target for code in django-oauth-toolkit that # uses reverse() with the 'oauth2_provider' namespace. Developers should not access these # views directly, but should rather use the wrapped views at /oauth2/ - url(r'^_o/', include(('oauth2_provider.urls', 'edx_oauth2_provider'), namespace='oauth2_provider')), + url(r'^_o/', include('oauth2_provider.urls', namespace='oauth2_provider')), ] diff --git a/requirements/edx/base.in b/requirements/edx/base.in index ed3ab14853..8708f323fa 100644 --- a/requirements/edx/base.in +++ b/requirements/edx/base.in @@ -71,14 +71,12 @@ edx-bulk-grades # LMS REST API for managing bulk grading ope edx-ccx-keys edx-celeryutils edx-completion -edx-django-oauth2-provider edx-django-release-util # Release utils for the edx release pipeline edx-django-sites-extensions edx-django-utils edx-drf-extensions edx-enterprise edx-milestones -edx-oauth2-provider edx-organizations edx-proctoring>=2.0.1 edx-proctoring-proctortrack==1.0.5 # Intentionally and permanently pinned to ensure code changes are reviewed diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 3bf9b1a503..918592b8b3 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -85,7 +85,7 @@ django-storages==1.8 # via -c requirements/edx/../constraints.txt, -r requi django-user-tasks==0.3.0 # via -r requirements/edx/base.in django-waffle==0.18.0 # via -r requirements/edx/base.in, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-proctoring django-webpack-loader==0.7.0 # via -r requirements/edx/base.in, edx-proctoring -django==1.11.28 # via -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-oauth2-provider, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils +django==1.11.28 # via -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils djangorestframework-jwt==1.11.0 # via -r requirements/edx/base.in, edx-drf-extensions djangorestframework-xml==1.4.0 # via edx-enterprise djangorestframework==3.9.4 # via -r requirements/edx/base.in, django-config-models, django-user-tasks, drf-yasg, edx-api-doc-tools, edx-completion, edx-drf-extensions, edx-enterprise, edx-organizations, edx-proctoring, edx-submissions, ora2, rest-condition, super-csv @@ -99,7 +99,7 @@ edx-bulk-grades==0.6.6 # via -r requirements/edx/base.in, staff-graded-xblock edx-ccx-keys==1.0.0 # via -r requirements/edx/base.in edx-celeryutils==0.3.2 # via -r requirements/edx/base.in, super-csv edx-completion==3.1.1 # via -r requirements/edx/base.in -edx-django-oauth2-provider==1.3.5 # via -r requirements/edx/base.in, edx-oauth2-provider, edx-organizations, edxval +edx-django-oauth2-provider==1.3.5 # via edx-organizations, edxval edx-django-release-util==0.3.6 # via -r requirements/edx/base.in edx-django-sites-extensions==2.4.3 # via -r requirements/edx/base.in edx-django-utils==3.0 # via -r requirements/edx/base.in, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client @@ -107,7 +107,6 @@ edx-drf-extensions==3.0.0 # via -r requirements/edx/base.in, edx-completion, ed edx-enterprise==2.4.1 # via -r requirements/edx/base.in edx-i18n-tools==0.5.0 # via ora2 edx-milestones==0.2.6 # via -r requirements/edx/base.in -edx-oauth2-provider==1.3.1 # via -r requirements/edx/base.in edx-opaque-keys[django]==2.0.1 # via -r requirements/edx/paver.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, xmodule edx-organizations==3.0.0 # via -r requirements/edx/base.in edx-proctoring-proctortrack==1.0.5 # via -r requirements/edx/base.in @@ -190,7 +189,7 @@ pycryptodome==3.9.7 # via pdfminer.six pycryptodomex==3.9.7 # via -r requirements/edx/base.in, edx-proctoring, pyjwkest pygments==2.5.2 # via -r requirements/edx/base.in pyjwkest==1.3.2 # via -r requirements/edx/base.in, edx-drf-extensions -pyjwt==1.5.2 # via -r requirements/edx/base.in, djangorestframework-jwt, edx-oauth2-provider, edx-rest-api-client, social-auth-core +pyjwt==1.5.2 # via -r requirements/edx/base.in, djangorestframework-jwt, edx-rest-api-client, social-auth-core pymongo==3.9.0 # via -r requirements/edx/base.in, -r requirements/edx/paver.txt, edx-opaque-keys, event-tracking, mongodbproxy, mongoengine pynliner==0.8.0 # via -r requirements/edx/base.in pyparsing==2.2.0 # via calc, chem, packaging, pycontracts diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 516153abd8..ed9847e64f 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -97,7 +97,7 @@ django-storages==1.8 # via -c requirements/edx/../constraints.txt, -r requi django-user-tasks==0.3.0 # via -r requirements/edx/testing.txt django-waffle==0.18.0 # via -r requirements/edx/testing.txt, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-proctoring django-webpack-loader==0.7.0 # via -r requirements/edx/testing.txt, edx-proctoring -django==1.11.28 # via -r requirements/edx/testing.txt, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-debug-toolbar, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-oauth2-provider, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils +django==1.11.28 # via -r requirements/edx/testing.txt, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-debug-toolbar, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils djangorestframework-jwt==1.11.0 # via -r requirements/edx/testing.txt, edx-drf-extensions djangorestframework-xml==1.4.0 # via -r requirements/edx/testing.txt, edx-enterprise djangorestframework==3.9.4 # via -r requirements/edx/testing.txt, django-config-models, django-user-tasks, drf-yasg, edx-api-doc-tools, edx-completion, edx-drf-extensions, edx-enterprise, edx-organizations, edx-proctoring, edx-submissions, ora2, rest-condition, super-csv @@ -111,7 +111,7 @@ edx-bulk-grades==0.6.6 # via -r requirements/edx/testing.txt, staff-graded-xb edx-ccx-keys==1.0.0 # via -r requirements/edx/testing.txt edx-celeryutils==0.3.2 # via -r requirements/edx/testing.txt, super-csv edx-completion==3.1.1 # via -r requirements/edx/testing.txt -edx-django-oauth2-provider==1.3.5 # via -r requirements/edx/testing.txt, edx-oauth2-provider, edx-organizations, edxval +edx-django-oauth2-provider==1.3.5 # via -r requirements/edx/testing.txt, edx-organizations, edxval edx-django-release-util==0.3.6 # via -r requirements/edx/testing.txt edx-django-sites-extensions==2.4.3 # via -r requirements/edx/testing.txt edx-django-utils==3.0 # via -r requirements/edx/testing.txt, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client @@ -120,7 +120,6 @@ edx-enterprise==2.4.1 # via -r requirements/edx/testing.txt edx-i18n-tools==0.5.0 # via -r requirements/edx/testing.txt, ora2 edx-lint==1.4.1 # via -r requirements/edx/testing.txt edx-milestones==0.2.6 # via -r requirements/edx/testing.txt -edx-oauth2-provider==1.3.1 # via -r requirements/edx/testing.txt edx-opaque-keys[django]==2.0.1 # via -r requirements/edx/testing.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, xmodule edx-organizations==3.0.0 # via -r requirements/edx/testing.txt edx-proctoring-proctortrack==1.0.5 # via -r requirements/edx/testing.txt @@ -232,7 +231,7 @@ pyflakes==2.1.1 # via -r requirements/edx/testing.txt, flake8 pygments==2.5.2 # via -r requirements/edx/testing.txt, diff-cover, sphinx pyinotify==0.9.6 # via -r requirements/edx/development.in pyjwkest==1.3.2 # via -r requirements/edx/testing.txt, edx-drf-extensions -pyjwt==1.5.2 # via -r requirements/edx/testing.txt, djangorestframework-jwt, edx-oauth2-provider, edx-rest-api-client, social-auth-core +pyjwt==1.5.2 # via -r requirements/edx/testing.txt, djangorestframework-jwt, edx-rest-api-client, social-auth-core pylint-celery==0.3 # via -r requirements/edx/testing.txt, edx-lint pylint-django==2.0.11 # via -r requirements/edx/testing.txt, edx-lint pylint-plugin-utils==0.6 # via -r requirements/edx/testing.txt, pylint-celery, pylint-django diff --git a/requirements/edx/django.txt b/requirements/edx/django.txt index 4475a9a147..84bf6d2104 100644 --- a/requirements/edx/django.txt +++ b/requirements/edx/django.txt @@ -1,2 +1,2 @@ django-oauth-toolkit==1.1.3 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in -django==1.11.28 # via -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-oauth2-provider, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils +django==1.11.28 # via -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-wiki, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-oauth2-provider, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 31ce6fa4d6..2d6f3ffad2 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -107,7 +107,7 @@ edx-bulk-grades==0.6.6 # via -r requirements/edx/base.txt, staff-graded-xbloc edx-ccx-keys==1.0.0 # via -r requirements/edx/base.txt edx-celeryutils==0.3.2 # via -r requirements/edx/base.txt, super-csv edx-completion==3.1.1 # via -r requirements/edx/base.txt -edx-django-oauth2-provider==1.3.5 # via -r requirements/edx/base.txt, edx-oauth2-provider, edx-organizations, edxval +edx-django-oauth2-provider==1.3.5 # via -r requirements/edx/base.txt, edx-organizations, edxval edx-django-release-util==0.3.6 # via -r requirements/edx/base.txt edx-django-sites-extensions==2.4.3 # via -r requirements/edx/base.txt edx-django-utils==3.0 # via -r requirements/edx/base.txt, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client @@ -116,7 +116,6 @@ edx-enterprise==2.4.1 # via -r requirements/edx/base.txt edx-i18n-tools==0.5.0 # via -r requirements/edx/base.txt, -r requirements/edx/testing.in, ora2 edx-lint==1.4.1 # via -r requirements/edx/testing.in edx-milestones==0.2.6 # via -r requirements/edx/base.txt -edx-oauth2-provider==1.3.1 # via -r requirements/edx/base.txt edx-opaque-keys[django]==2.0.1 # via -r requirements/edx/base.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, xmodule edx-organizations==3.0.0 # via -r requirements/edx/base.txt edx-proctoring-proctortrack==1.0.5 # via -r requirements/edx/base.txt @@ -221,7 +220,7 @@ pycryptodomex==3.9.7 # via -r requirements/edx/base.txt, edx-proctoring, py pyflakes==2.1.1 # via flake8 pygments==2.5.2 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, diff-cover pyjwkest==1.3.2 # via -r requirements/edx/base.txt, edx-drf-extensions -pyjwt==1.5.2 # via -r requirements/edx/base.txt, djangorestframework-jwt, edx-oauth2-provider, edx-rest-api-client, social-auth-core +pyjwt==1.5.2 # via -r requirements/edx/base.txt, djangorestframework-jwt, edx-rest-api-client, social-auth-core pylint-celery==0.3 # via edx-lint pylint-django==2.0.11 # via edx-lint pylint-plugin-utils==0.6 # via pylint-celery, pylint-django