diff --git a/requirements/base.in b/requirements/base.in
index e319619d85d0f23b7fee16d86e0c3da1a0f0d4c1..962a298f6a18f7690943f1df7e8af0c61a963e5a 100644
--- a/requirements/base.in
+++ b/requirements/base.in
@@ -1,5 +1,4 @@
 Django==2.2.4
 djangorestframework==3.10.2
-django-social-authsch==0.1
 django-solo==1.1.3
 django-import-export==1.2.0
diff --git a/src/authsch/__init__.py b/src/authsch/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/authsch/apps.py b/src/authsch/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..13882bac31bad2b60b80e7ab11c2e860621bfcd0
--- /dev/null
+++ b/src/authsch/apps.py
@@ -0,0 +1,6 @@
+# Original: https://git.sch.bme.hu/kszk/devteam/django-authsch
+from django.apps import AppConfig
+
+
+class AuthschConfig(AppConfig):
+    name = 'authsch'
diff --git a/src/authsch/authentication.py b/src/authsch/authentication.py
new file mode 100644
index 0000000000000000000000000000000000000000..b7e105ad0ce84b42d37440064dd17785425491d9
--- /dev/null
+++ b/src/authsch/authentication.py
@@ -0,0 +1,35 @@
+# Original: https://git.sch.bme.hu/kszk/devteam/django-authsch
+# store schacc in username field
+from social_core.backends.oauth import BaseOAuth2
+
+
+class AuthSCHOAuth2(BaseOAuth2):
+    """AuthSCH OAuth2 authentication backend"""
+    name = 'authsch'
+    ID_KEY = 'internal_id'
+    AUTHORIZATION_URL = 'https://auth.sch.bme.hu/site/login'
+    ACCESS_TOKEN_URL = 'https://auth.sch.bme.hu/oauth2/token'
+    ACCESS_TOKEN_METHOD = 'POST'
+    REFRESH_TOKEN_URL = 'https://auth.sch.bme.hu/oauth2/token'
+    DEFAULT_SCOPE = ['basic', 'mail', 'givenName', 'sn', 'linkedAccounts']
+    EXTRA_DATA = [
+        ('internal_id', 'id'),
+        ('expires_in', 'expires'),
+        ('refresh_token', 'refresh_token'),
+    ]
+
+    def get_user_details(self, response):
+        """Return user details from AuthSCH account"""
+        return {
+            'username': response.get('linkedAccounts').get('schacc'), 
+            'email': response.get('mail'),
+            'first_name': response.get('givenName'),
+            'last_name': response.get('sn')
+        }
+
+    def user_data(self, access_token, *args, **kwargs):
+        """Loads user data from service"""
+        return self.get_json(
+            'https://auth.sch.bme.hu/api/profile/',
+            params={'access_token': access_token}
+        )
diff --git a/src/kszkepzes/settings/base.py b/src/kszkepzes/settings/base.py
index fa4afc6fa9a812faa4d6ddd0c096c85cf72c7cdb..1e962159b7490c15c588b254605fc59f90cdb792 100644
--- a/src/kszkepzes/settings/base.py
+++ b/src/kszkepzes/settings/base.py
@@ -27,7 +27,6 @@ DEBUG = True
 
 ALLOWED_HOSTS = []
 
-
 # Application definition
 
 INSTALLED_APPS = [