From a5542cf8cd79ebec8a4ab35b430dcf6e77bb510d Mon Sep 17 00:00:00 2001
From: Dimitrie Stefanescu
Date: Sat, 26 Dec 2020 20:39:35 +0200
Subject: [PATCH] feat(server/frontend): wIP: auth flows are being revamped.
HIC SVNT DRACONES
---
frontend/package-lock.json | 118 ++++--
frontend/public/app.html | 10 +-
frontend/public/auth.html | 19 -
frontend/src/App.vue | 170 ++++++++
frontend/src/AppAuth.vue | 235 -----------
frontend/src/AppFrontend.vue | 279 -------------
frontend/src/auth-helpers.js | 156 +++----
frontend/src/components/SidebarStream.vue | 23 +-
frontend/src/components/auth/Blurb.vue | 25 ++
frontend/src/components/auth/Strategies.vue | 32 ++
.../src/components/dialogs/ServerDialog.vue | 25 +-
frontend/src/main-auth.js | 26 --
frontend/src/main-frontend.js | 58 ++-
frontend/src/plugins/vuetify.js | 54 +--
frontend/src/router/auth-router.js | 31 +-
frontend/src/router/index.js | 179 +++++---
frontend/src/views/Auth.vue | 45 ++
frontend/src/views/Frontend.vue | 125 ++++++
frontend/src/views/Home.vue | 6 +-
frontend/src/views/Profile.vue | 2 +-
frontend/src/views/ProfileUser.vue | 2 +-
frontend/src/views/Stream.vue | 2 +-
frontend/src/views/auth/AuthorizeApp.vue | 229 ++++------
frontend/src/views/auth/Login.vue | 197 +++++----
frontend/src/views/auth/Registration.vue | 391 +++++++++---------
frontend/vue.config.js | 21 +-
26 files changed, 1207 insertions(+), 1253 deletions(-)
delete mode 100644 frontend/public/auth.html
create mode 100644 frontend/src/App.vue
delete mode 100644 frontend/src/AppAuth.vue
delete mode 100644 frontend/src/AppFrontend.vue
create mode 100644 frontend/src/components/auth/Blurb.vue
create mode 100644 frontend/src/components/auth/Strategies.vue
delete mode 100644 frontend/src/main-auth.js
create mode 100644 frontend/src/views/Auth.vue
create mode 100644 frontend/src/views/Frontend.vue
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index f209f19fa..bffc73c4b 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1125,9 +1125,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -6221,9 +6221,9 @@
}
},
"dompurify": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.4.tgz",
- "integrity": "sha512-jE21SelIgWrGKoXGfGPA524Zt1IJFBnktwfFMHDlEYRx5FZOdc+4eEH9mkA6PuhExrq3HVpJnY8hMYUzAMl0OA=="
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.6.tgz",
+ "integrity": "sha512-7b7ZArhhH0SP6W2R9cqK6RjaU82FZ2UPM7RO8qN1b1wyvC/NY1FNWcX1Pu00fFOAnzEORtwXe4bPaClg6pUybQ=="
},
"domutils": {
"version": "1.7.0",
@@ -6504,9 +6504,9 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.16.0.tgz",
+ "integrity": "sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -6543,7 +6543,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -6557,6 +6557,12 @@
"color-convert": "^2.0.1"
}
},
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
@@ -6648,15 +6654,21 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
}
},
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -6702,6 +6714,28 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -6717,6 +6751,32 @@
"has-flag": "^4.0.0"
}
},
+ "table": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.4.tgz",
+ "integrity": "sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ }
+ }
+ },
"type-fest": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
@@ -6871,24 +6931,24 @@
}
},
"eslint-plugin-prettier": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz",
- "integrity": "sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.0.tgz",
+ "integrity": "sha512-tMTwO8iUWlSRZIwS9k7/E4vrTsfvsrcM5p1eftyuqWH25nKsz/o6/54I7jwQ/3zobISyC7wMy9ZsFwgTxOcOpQ==",
"dev": true,
"requires": {
"prettier-linter-helpers": "^1.0.0"
}
},
"eslint-plugin-vue": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.2.0.tgz",
- "integrity": "sha512-4mt0yIv6rBDNtvis/g22a0ozJ12GfcdEzX77u0ICYjKlxOVtGrKGEvo0cbOObHaKDg9a9kJcoaNodqE4TPfS2A==",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.3.0.tgz",
+ "integrity": "sha512-4rc9xrZgwT4aLz3XE6lrHu+FZtDLWennYvtzVvvS81kW9c65U4DUzQQWAFjDCgCFvN6HYWxi7ueEtxZVSB+f0g==",
"dev": true,
"requires": {
"eslint-utils": "^2.1.0",
"natural-compare": "^1.4.0",
"semver": "^7.3.2",
- "vue-eslint-parser": "^7.2.0"
+ "vue-eslint-parser": "^7.3.0"
},
"dependencies": {
"lru-cache": {
@@ -9674,9 +9734,9 @@
}
},
"marked": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.6.tgz",
- "integrity": "sha512-7vVuSEZ8g/HH3hK/BH/+7u/NJj7x9VY4EHzujLDcqAQLiOUeFJYAsfSAyoWtR17lKrx7b08qyIno4lffwrzTaA=="
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.7.tgz",
+ "integrity": "sha512-No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA=="
},
"md5.js": {
"version": "1.3.5",
@@ -14487,9 +14547,9 @@
}
},
"vue-eslint-parser": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.2.0.tgz",
- "integrity": "sha512-uVcQqe8sUNzdHGcRHMd2Z/hl6qEaWrAmglTKP92Fnq9TYU9un8xsyFgEdFJaXh/1rd7h8Aic1GaiQow5nVneow==",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.3.0.tgz",
+ "integrity": "sha512-n5PJKZbyspD0+8LnaZgpEvNCrjQx1DyDHw8JdWwoxhhC+yRip4TAvSDpXGf9SWX6b0umeB5aR61gwUo6NVvFxw==",
"dev": true,
"requires": {
"debug": "^4.1.1",
@@ -14644,9 +14704,9 @@
}
},
"vuetify": {
- "version": "2.3.21",
- "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.21.tgz",
- "integrity": "sha512-c9FOjkpVPDoIim88wbfqSIuCsH3jtgQQBC1iMW+ZFxf/Bj+d73HySL2LhEnZwAQT7XTAUGfad4aLPfcNZzK5YQ=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.4.0.tgz",
+ "integrity": "sha512-FBFAtg1ZnNwDBhMzENCzgh0hBV+HMjXejrxeRQqTfKPojKQSQFswtdHatUPmlkArDulZC73GRs2F/IwdF48o5g=="
},
"vuetify-image-input": {
"version": "19.1.0",
diff --git a/frontend/public/app.html b/frontend/public/app.html
index 5196b524b..0115e1184 100644
--- a/frontend/public/app.html
+++ b/frontend/public/app.html
@@ -11,13 +11,13 @@
@@ -28,7 +28,7 @@
- 🔓 Logging you in...
+ Loading.
-
-
-
-
diff --git a/frontend/public/auth.html b/frontend/public/auth.html
deleted file mode 100644
index bc5146586..000000000
--- a/frontend/public/auth.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-