diff --git a/package-lock.json b/package-lock.json
index bfea3e2728b1c0855aea6f4ba94df4db1301c3c3..96c946c8e1e692868ec6a7bf6a5d91b96624a0ed 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -963,6 +963,11 @@
         "@types/mime": "*"
       }
     },
+    "@types/simple-oauth2": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/@types/simple-oauth2/-/simple-oauth2-2.5.2.tgz",
+      "integrity": "sha512-ueSZbyJ8/69T2ADkcjOFu9VndpM+5lHP0ppMsr31Mi6ufY51rnmg3EdaMpjNFSqDpfZAGrihutEJFZrV70/ABA=="
+    },
     "@types/stack-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
@@ -1191,6 +1196,14 @@
       "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
       "dev": true
     },
+    "axios": {
+      "version": "0.19.2",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+      "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
+      "requires": {
+        "follow-redirects": "1.5.10"
+      }
+    },
     "babel-jest": {
       "version": "25.1.0",
       "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.1.0.tgz",
@@ -2514,6 +2527,29 @@
         "path-exists": "^4.0.0"
       }
     },
+    "follow-redirects": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+      "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+      "requires": {
+        "debug": "=3.1.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
diff --git a/package.json b/package.json
index 8faa07dd1dd65a1918002496fa9f7f8c6f093a3f..f9e130bf4211ae883752c2536716c6b6b0f1cdb6 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,8 @@
   },
   "dependencies": {
     "@types/express-session": "^1.15.16",
+    "@types/simple-oauth2": "^2.5.2",
+    "axios": "^0.19.2",
     "body-parser": "^1.19.0",
     "dotenv": "^8.2.0",
     "express": "^4.17.1",
diff --git a/src/index.ts b/src/index.ts
index eece1dbc193ad86721130e2c7accaa02fcabe00e..8f793b9d26beea53c0fab34e19e158287fdc77c9 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -2,6 +2,7 @@ import "./utils/env"
 import express, { Request, Response, NextFunction, Application } from "express";
 import bodyParser from "body-parser";
 import expressSession from "express-session";
+import authRoute from './routes/auth';
 
 const app: Application = express();
 
@@ -13,10 +14,11 @@ app.use(expressSession({
   saveUninitialized: true,
   cookie: { secure: true }
 }));
+
 app.get("/", (req: Request, res: Response) => res.send("Hel World!"));
 
 // Register routes
-
+authRoute(app);
 
 app.use((err: any, req: Request, res: Response, next: NextFunction) => {
   res.status(500).send("Houston, we have a problem!");