diff --git a/apps/member/views.py b/apps/member/views.py
index 066a7ef33f0f528bc1edddcedf9628425b88572c..e56ed7b208c3aa602a3d0cd2fd866ce85bf0afe8 100644
--- a/apps/member/views.py
+++ b/apps/member/views.py
@@ -26,7 +26,7 @@ from permission.backends import PermissionBackend
 from permission.models import Role
 from permission.views import ProtectQuerysetMixin, ProtectedCreateView
 
-from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm,\
+from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm, \
     CustomAuthenticationForm, MembershipRolesForm
 from .models import Club, Membership
 from .tables import ClubTable, UserTable, MembershipTable, ClubManagerTable
diff --git a/apps/note/api/views.py b/apps/note/api/views.py
index 34ffaf2dc4768bbdace8442ca747130a5830d7c3..bc4f99ef58a48d2f8b1e38cb7679d8a3022c734c 100644
--- a/apps/note/api/views.py
+++ b/apps/note/api/views.py
@@ -13,7 +13,7 @@ from rest_framework import status
 from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 from permission.backends import PermissionBackend
 
-from .serializers import NotePolymorphicSerializer, AliasSerializer, ConsumerSerializer,\
+from .serializers import NotePolymorphicSerializer, AliasSerializer, ConsumerSerializer, \
     TemplateCategorySerializer, TransactionTemplateSerializer, TransactionPolymorphicSerializer, \
     TrustSerializer
 from ..models.notes import Note, Alias, NoteUser, NoteClub, NoteSpecial, Trust
diff --git a/apps/note/tests/test_transactions.py b/apps/note/tests/test_transactions.py
index 4f5dd6c50d73d064dad1b91384534519998f1a62..1f0920ecc76c879415307ae7954e0dc6be828b54 100644
--- a/apps/note/tests/test_transactions.py
+++ b/apps/note/tests/test_transactions.py
@@ -10,7 +10,7 @@ from django.urls import reverse
 from django.utils import timezone
 from permission.models import Role
 
-from ..api.views import AliasViewSet, ConsumerViewSet, NotePolymorphicViewSet, TemplateCategoryViewSet,\
+from ..api.views import AliasViewSet, ConsumerViewSet, NotePolymorphicViewSet, TemplateCategoryViewSet, \
     TransactionTemplateViewSet, TransactionViewSet
 from ..models import NoteUser, Transaction, TemplateCategory, TransactionTemplate, RecurrentTransaction, \
     MembershipTransaction, SpecialTransaction, NoteSpecial, Alias, Note
diff --git a/apps/permission/scopes.py b/apps/permission/scopes.py
index 65242804639da36fb09cb89d8d1dc946ebd52075..f8fd768769807c588feeb2123cff7c158853efd1 100644
--- a/apps/permission/scopes.py
+++ b/apps/permission/scopes.py
@@ -44,6 +44,8 @@ class PermissionOAuth2Validator(OAuth2Validator):
         subset of permissions.
         """
 
+        oidc_claim_scope = None  # fix breaking change of django-oauth-toolkit 2.0.0
+
         valid_scopes = set()
 
         for t in Permission.PERMISSION_TYPES:
diff --git a/apps/treasury/api/views.py b/apps/treasury/api/views.py
index e6ba9ced06c0df9bc79cc1f9d77d4f6bb143593c..3638827989d0fe6a17030fe78c2c547dcf6c03d1 100644
--- a/apps/treasury/api/views.py
+++ b/apps/treasury/api/views.py
@@ -5,7 +5,7 @@ from django_filters.rest_framework import DjangoFilterBackend
 from rest_framework.filters import SearchFilter
 from api.viewsets import ReadProtectedModelViewSet
 
-from .serializers import InvoiceSerializer, ProductSerializer, RemittanceTypeSerializer, RemittanceSerializer,\
+from .serializers import InvoiceSerializer, ProductSerializer, RemittanceTypeSerializer, RemittanceSerializer, \
     SogeCreditSerializer
 from ..models import Invoice, Product, RemittanceType, Remittance, SogeCredit
 
diff --git a/apps/treasury/urls.py b/apps/treasury/urls.py
index 4fe87924bc46ab2f77a83f3d1bf3a8e1ae45264c..144ae296862871d3a0bfdb7c54c4e02ef9969ac3 100644
--- a/apps/treasury/urls.py
+++ b/apps/treasury/urls.py
@@ -3,8 +3,8 @@
 
 from django.urls import path
 
-from .views import InvoiceCreateView, InvoiceListView, InvoiceUpdateView, InvoiceDeleteView, InvoiceRenderView,\
-    RemittanceListView, RemittanceCreateView, RemittanceUpdateView, LinkTransactionToRemittanceView,\
+from .views import InvoiceCreateView, InvoiceListView, InvoiceUpdateView, InvoiceDeleteView, InvoiceRenderView, \
+    RemittanceListView, RemittanceCreateView, RemittanceUpdateView, LinkTransactionToRemittanceView, \
     UnlinkTransactionToRemittanceView, SogeCreditListView, SogeCreditManageView
 
 app_name = 'treasury'
diff --git a/note_kfet/admin.py b/note_kfet/admin.py
index dc209c67bed12fa6b32e486838ebefae85caa749..1f26f559bb8ec34e04b5202aecbd62aaaf65560f 100644
--- a/note_kfet/admin.py
+++ b/note_kfet/admin.py
@@ -25,8 +25,8 @@ admin_site.register(Site, SiteAdmin)
 
 # Add external apps model
 if "oauth2_provider" in settings.INSTALLED_APPS:
-    from oauth2_provider.admin import Application, ApplicationAdmin, Grant, \
-        GrantAdmin, AccessToken, AccessTokenAdmin, RefreshToken, RefreshTokenAdmin
+    from oauth2_provider.admin import ApplicationAdmin, GrantAdmin, AccessTokenAdmin, RefreshTokenAdmin
+    from oauth2_provider.model import Application, Grant, AccessToken, RefreshToken
     admin_site.register(Application, ApplicationAdmin)
     admin_site.register(Grant, GrantAdmin)
     admin_site.register(AccessToken, AccessTokenAdmin)
diff --git a/note_kfet/settings/base.py b/note_kfet/settings/base.py
index 1e9e0752806f30a6a45a5619bafd98fa247d21cf..fe466b1e79bba27af068d80c0e79defbd2dcc581 100644
--- a/note_kfet/settings/base.py
+++ b/note_kfet/settings/base.py
@@ -263,6 +263,9 @@ OAUTH2_PROVIDER = {
     'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14),
 }
 
+# PKCE (fix a breaking change of django-oauth-toolkit 2.0.0)
+PKCE_REQUIRED = False
+
 # Take control on how widget templates are sourced
 # See https://docs.djangoproject.com/en/2.2/ref/forms/renderers/#templatessetting
 FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'