mirror of
https://github.com/kevin-DL/team-management.git
synced 2026-01-11 18:54:33 +00:00
Added auth0 authentication
This commit is contained in:
@@ -56,6 +56,7 @@ export default {
|
|||||||
// Doc: https://axios.nuxtjs.org/usage
|
// Doc: https://axios.nuxtjs.org/usage
|
||||||
'@nuxtjs/axios',
|
'@nuxtjs/axios',
|
||||||
'@nuxtjs/pwa',
|
'@nuxtjs/pwa',
|
||||||
|
'@nuxtjs/auth'
|
||||||
],
|
],
|
||||||
/*
|
/*
|
||||||
** Axios module configuration
|
** Axios module configuration
|
||||||
@@ -67,5 +68,17 @@ export default {
|
|||||||
** See https://nuxtjs.org/api/configuration-build/
|
** See https://nuxtjs.org/api/configuration-build/
|
||||||
*/
|
*/
|
||||||
build: {
|
build: {
|
||||||
|
},
|
||||||
|
router: {
|
||||||
|
middleware: ['auth']
|
||||||
|
},
|
||||||
|
auth: {
|
||||||
|
strategies: {
|
||||||
|
local: false,
|
||||||
|
auth0: {
|
||||||
|
domain: process.env.NUXT_ENV_AUTH0_DOMAIN,
|
||||||
|
client_id: process.env.NUXT_ENV_AUTH0_CLIENT_ID,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
51
package-lock.json
generated
51
package-lock.json
generated
@@ -1465,6 +1465,11 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
|
||||||
"integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
|
"integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
|
||||||
|
},
|
||||||
|
"nanoid": {
|
||||||
|
"version": "3.1.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz",
|
||||||
|
"integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1632,6 +1637,28 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@nuxtjs/auth": {
|
||||||
|
"version": "4.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@nuxtjs/auth/-/auth-4.9.1.tgz",
|
||||||
|
"integrity": "sha512-h5VZanq2+P47jq3t0EnsZv800cg/ufOPC6JqvcyeDFJM99p58jHSODAjDuePo3PrZxd8hovMk7zusU5lOHgjvQ==",
|
||||||
|
"requires": {
|
||||||
|
"@nuxtjs/axios": "^5.9.5",
|
||||||
|
"body-parser": "^1.19.0",
|
||||||
|
"consola": "^2.11.3",
|
||||||
|
"cookie": "^0.4.0",
|
||||||
|
"is-https": "^1.0.0",
|
||||||
|
"js-cookie": "^2.2.1",
|
||||||
|
"lodash": "^4.17.15",
|
||||||
|
"nanoid": "^2.1.11"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": {
|
||||||
|
"version": "2.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
|
||||||
|
"integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"@nuxtjs/axios": {
|
"@nuxtjs/axios": {
|
||||||
"version": "5.12.0",
|
"version": "5.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.12.0.tgz",
|
||||||
@@ -1940,6 +1967,14 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/nuxtjs__auth": {
|
||||||
|
"version": "4.8.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/nuxtjs__auth/-/nuxtjs__auth-4.8.4.tgz",
|
||||||
|
"integrity": "sha512-K7F+MS1Yd5WGnfPwRfsiTxIrT5CIZWyCb42m+E2dsrkojBgK6EmboR3sA7eVajNQMLamrNHU7PAiiOnc0rx0Yw==",
|
||||||
|
"requires": {
|
||||||
|
"vue": "^2.6.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/optimize-css-assets-webpack-plugin": {
|
"@types/optimize-css-assets-webpack-plugin": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz",
|
||||||
@@ -6024,6 +6059,11 @@
|
|||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"is-https": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-https/-/is-https-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1adLLwZT9XEXjzhQhZxd75uxf0l+xI9uTSFaZeSESjL3E1eXSPpO+u5RcgqtzeZ1KCaNvtEwZSTO2P4U5erVqQ=="
|
||||||
|
},
|
||||||
"is-nan": {
|
"is-nan": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz",
|
||||||
@@ -6177,6 +6217,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-0.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-0.1.11.tgz",
|
||||||
"integrity": "sha512-zSPegl+ageMLSYcq1uAZa6V56pX2GbNl/eU3Or7PFHu10a2YhLAXj5fnHJGd6cHZTalSR8zXGH8WmyuyufMhLA=="
|
"integrity": "sha512-zSPegl+ageMLSYcq1uAZa6V56pX2GbNl/eU3Or7PFHu10a2YhLAXj5fnHJGd6cHZTalSR8zXGH8WmyuyufMhLA=="
|
||||||
},
|
},
|
||||||
|
"js-cookie": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
|
||||||
|
},
|
||||||
"js-tokens": {
|
"js-tokens": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
@@ -6723,9 +6768,9 @@
|
|||||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
|
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
|
||||||
},
|
},
|
||||||
"nanoid": {
|
"nanoid": {
|
||||||
"version": "3.1.12",
|
"version": "2.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
|
||||||
"integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A=="
|
"integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA=="
|
||||||
},
|
},
|
||||||
"nanomatch": {
|
"nanomatch": {
|
||||||
"version": "1.2.13",
|
"version": "1.2.13",
|
||||||
|
|||||||
@@ -10,8 +10,11 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nuxt/typescript-runtime": "^1.0.0",
|
"@nuxt/typescript-runtime": "^1.0.0",
|
||||||
|
"@nuxtjs/auth": "^4.9.1",
|
||||||
"@nuxtjs/axios": "^5.12.0",
|
"@nuxtjs/axios": "^5.12.0",
|
||||||
"@nuxtjs/pwa": "^3.0.0-beta.20",
|
"@nuxtjs/pwa": "^3.0.0-beta.20",
|
||||||
|
"@types/nuxtjs__auth": "^4.8.4",
|
||||||
|
"nanoid": "^2.1.11",
|
||||||
"nuxt": "^2.14.0"
|
"nuxt": "^2.14.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,80 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
|
||||||
<div>
|
|
||||||
<Logo />
|
|
||||||
<h1 class="title">
|
|
||||||
team-management
|
|
||||||
</h1>
|
|
||||||
<div class="links">
|
|
||||||
<a
|
|
||||||
href="https://nuxtjs.org/"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
class="button--green"
|
|
||||||
>
|
|
||||||
Documentation
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href="https://github.com/nuxt/nuxt.js"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
class="button--grey"
|
|
||||||
>
|
|
||||||
GitHub
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
|
||||||
export default Vue.extend({})
|
export default Vue.extend({})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
/* Sample `apply` at-rules with Tailwind CSS
|
/* Sample `apply` at-rules with Tailwind CSS
|
||||||
.container {
|
.container {
|
||||||
@apply min-h-screen flex justify-center items-center text-center mx-auto;
|
@apply min-h-screen flex justify-center items-center text-center mx-auto;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
.container {
|
|
||||||
margin: 0 auto;
|
|
||||||
min-height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-family:
|
|
||||||
'Quicksand',
|
|
||||||
'Source Sans Pro',
|
|
||||||
-apple-system,
|
|
||||||
BlinkMacSystemFont,
|
|
||||||
'Segoe UI',
|
|
||||||
Roboto,
|
|
||||||
'Helvetica Neue',
|
|
||||||
Arial,
|
|
||||||
sans-serif;
|
|
||||||
display: block;
|
|
||||||
font-weight: 300;
|
|
||||||
font-size: 100px;
|
|
||||||
color: #35495e;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 300;
|
|
||||||
font-size: 42px;
|
|
||||||
color: #526488;
|
|
||||||
word-spacing: 5px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.links {
|
|
||||||
padding-top: 15px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
20
pages/login.vue
Normal file
20
pages/login.vue
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<button @click="login"> Login/Register </button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "login",
|
||||||
|
methods: {
|
||||||
|
login: function () {
|
||||||
|
this.$auth.loginWith('auth0')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
0
store/index.ts
Normal file
0
store/index.ts
Normal file
Reference in New Issue
Block a user