diff --git a/client/client-app.js b/client/client-app.js index 40f4cc60..0d2018d7 100644 --- a/client/client-app.js +++ b/client/client-app.js @@ -103,7 +103,7 @@ const graphQLLink = ApolloLink.from([ // Handle renewed JWT const newJWT = resp.headers.get('new-jwt') if (newJWT) { - Cookies.set('jwt', newJWT, { expires: 365 }) + Cookies.set('jwt', newJWT, { expires: 365, secure: window.location.protocol === 'https:' }) } return resp } @@ -148,30 +148,30 @@ Vue.prototype.Velocity = Velocity // Register Vue Components // ==================================== -Vue.component('admin', () => import(/* webpackChunkName: "admin" */ './components/admin.vue')) -Vue.component('comments', () => import(/* webpackChunkName: "comments" */ './components/comments.vue')) -Vue.component('editor', () => import(/* webpackPrefetch: -100, webpackChunkName: "editor" */ './components/editor.vue')) -Vue.component('history', () => import(/* webpackChunkName: "history" */ './components/history.vue')) -Vue.component('loader', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/loader.vue')) -Vue.component('login', () => import(/* webpackPrefetch: true, webpackChunkName: "login" */ './components/login.vue')) -Vue.component('nav-header', () => import(/* webpackMode: "eager" */ './components/common/nav-header.vue')) -Vue.component('new-page', () => import(/* webpackChunkName: "new-page" */ './components/new-page.vue')) -Vue.component('notify', () => import(/* webpackMode: "eager" */ './components/common/notify.vue')) -Vue.component('not-found', () => import(/* webpackChunkName: "not-found" */ './components/not-found.vue')) -Vue.component('page-selector', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/page-selector.vue')) -Vue.component('page-source', () => import(/* webpackChunkName: "source" */ './components/source.vue')) -Vue.component('profile', () => import(/* webpackChunkName: "profile" */ './components/profile.vue')) -Vue.component('register', () => import(/* webpackChunkName: "register" */ './components/register.vue')) -Vue.component('search-results', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/search-results.vue')) -Vue.component('social-sharing', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/social-sharing.vue')) -Vue.component('tags', () => import(/* webpackChunkName: "tags" */ './components/tags.vue')) -Vue.component('unauthorized', () => import(/* webpackChunkName: "unauthorized" */ './components/unauthorized.vue')) -Vue.component('v-card-chin', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/v-card-chin.vue')) -Vue.component('v-card-info', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/v-card-info.vue')) -Vue.component('welcome', () => import(/* webpackChunkName: "welcome" */ './components/welcome.vue')) - -Vue.component('nav-footer', () => import(/* webpackChunkName: "theme" */ './themes/' + siteConfig.theme + '/components/nav-footer.vue')) -Vue.component('page', () => import(/* webpackChunkName: "theme" */ './themes/' + siteConfig.theme + '/components/page.vue')) +Vue.component('Admin', () => import(/* webpackChunkName: "admin" */ './components/admin.vue')) +Vue.component('Comments', () => import(/* webpackChunkName: "comments" */ './components/comments.vue')) +Vue.component('Editor', () => import(/* webpackPrefetch: -100, webpackChunkName: "editor" */ './components/editor.vue')) +Vue.component('History', () => import(/* webpackChunkName: "history" */ './components/history.vue')) +Vue.component('Loader', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/loader.vue')) +Vue.component('Login', () => import(/* webpackPrefetch: true, webpackChunkName: "login" */ './components/login.vue')) +Vue.component('NavHeader', () => import(/* webpackMode: "eager" */ './components/common/nav-header.vue')) +Vue.component('NewPage', () => import(/* webpackChunkName: "new-page" */ './components/new-page.vue')) +Vue.component('Notify', () => import(/* webpackMode: "eager" */ './components/common/notify.vue')) +Vue.component('NotFound', () => import(/* webpackChunkName: "not-found" */ './components/not-found.vue')) +Vue.component('PageSelector', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/page-selector.vue')) +Vue.component('PageSource', () => import(/* webpackChunkName: "source" */ './components/source.vue')) +Vue.component('Profile', () => import(/* webpackChunkName: "profile" */ './components/profile.vue')) +Vue.component('Register', () => import(/* webpackChunkName: "register" */ './components/register.vue')) +Vue.component('SearchResults', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/search-results.vue')) +Vue.component('SocialSharing', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/social-sharing.vue')) +Vue.component('Tags', () => import(/* webpackChunkName: "tags" */ './components/tags.vue')) +Vue.component('Unauthorized', () => import(/* webpackChunkName: "unauthorized" */ './components/unauthorized.vue')) +Vue.component('VCardChin', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/v-card-chin.vue')) +Vue.component('VCardInfo', () => import(/* webpackPrefetch: true, webpackChunkName: "ui-extra" */ './components/common/v-card-info.vue')) +Vue.component('Welcome', () => import(/* webpackChunkName: "welcome" */ './components/welcome.vue')) + +Vue.component('NavFooter', () => import(/* webpackChunkName: "theme" */ './themes/' + siteConfig.theme + '/components/nav-footer.vue')) +Vue.component('Page', () => import(/* webpackChunkName: "theme" */ './themes/' + siteConfig.theme + '/components/page.vue')) let bootstrap = () => { // ==================================== diff --git a/client/components/login.vue b/client/components/login.vue index f74a4744..bf9b26c2 100644 --- a/client/components/login.vue +++ b/client/components/login.vue @@ -641,7 +641,7 @@ export default { } else { this.loaderColor = 'green darken-1' this.loaderTitle = this.$t('auth:loginSuccess') - Cookies.set('jwt', respObj.jwt, { expires: 365 }) + Cookies.set('jwt', respObj.jwt, { expires: 365, secure: window.location.protocol === 'https:' }) _.delay(() => { const loginRedirect = Cookies.get('loginRedirect') if (loginRedirect === '/' && respObj.redirect) { diff --git a/client/components/profile/profile.vue b/client/components/profile/profile.vue index 5817df91..dfb0bba8 100644 --- a/client/components/profile/profile.vue +++ b/client/components/profile/profile.vue @@ -757,7 +757,7 @@ export default { }) const resp = _.get(respRaw, 'data.users.updateProfile.responseResult', {}) if (resp.succeeded) { - Cookies.set('jwt', _.get(respRaw, 'data.users.updateProfile.jwt', ''), { expires: 365 }) + Cookies.set('jwt', _.get(respRaw, 'data.users.updateProfile.jwt', ''), { expires: 365, secure: window.location.protocol === 'https:' }) this.$store.set('user/name', this.user.name) this.$store.commit('showNotification', { message: this.$t('profile:save.success'), @@ -865,7 +865,7 @@ export default { this.currentPass = '' this.newPass = '' this.verifyPass = '' - Cookies.set('jwt', _.get(respRaw, 'data.users.changePassword.jwt', ''), { expires: 365 }) + Cookies.set('jwt', _.get(respRaw, 'data.users.changePassword.jwt', ''), { expires: 365, secure: window.location.protocol === 'https:' }) this.$store.commit('showNotification', { message: this.$t('profile:auth.changePassSuccess'), style: 'success',