fix: site title check + UI fixes + 2FA setup on account verify
This commit is contained in:
parent
f72530bf84
commit
8c205b6950
@ -177,6 +177,8 @@ import editorStore from '../../store/editor'
|
|||||||
|
|
||||||
/* global WIKI */
|
/* global WIKI */
|
||||||
|
|
||||||
|
const titleRegex = /[<>"]/i
|
||||||
|
|
||||||
WIKI.$store.registerModule('editor', editorStore)
|
WIKI.$store.registerModule('editor', editorStore)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -186,12 +188,6 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
analyticsServices: [
|
|
||||||
{ text: 'None', value: '' },
|
|
||||||
{ text: 'Elasticsearch APM RUM', value: 'elk' },
|
|
||||||
{ text: 'Google Analytics', value: 'ga' },
|
|
||||||
{ text: 'Google Tag Manager', value: 'gtm' }
|
|
||||||
],
|
|
||||||
config: {
|
config: {
|
||||||
host: '',
|
host: '',
|
||||||
title: '',
|
title: '',
|
||||||
@ -238,6 +234,15 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async save () {
|
async save () {
|
||||||
|
const title = _.get(this.config, 'title', '')
|
||||||
|
if (titleRegex.test(title)) {
|
||||||
|
this.$store.commit('showNotification', {
|
||||||
|
style: 'error',
|
||||||
|
message: this.$t('admin:general.siteTitleInvalidChars'),
|
||||||
|
icon: 'alert'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
await this.$apollo.mutate({
|
await this.$apollo.mutate({
|
||||||
mutation: gql`
|
mutation: gql`
|
||||||
@ -300,7 +305,7 @@ export default {
|
|||||||
})
|
})
|
||||||
this.$store.commit('showNotification', {
|
this.$store.commit('showNotification', {
|
||||||
style: 'success',
|
style: 'success',
|
||||||
message: 'Configuration saved successfully.',
|
message: this.$t('admin:general.saveSuccess'),
|
||||||
icon: 'check'
|
icon: 'check'
|
||||||
})
|
})
|
||||||
this.siteTitle = this.config.title
|
this.siteTitle = this.config.title
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
:size='60'
|
:size='60'
|
||||||
color='#FFF'
|
color='#FFF'
|
||||||
)
|
)
|
||||||
img(v-else-if='mode === `icon`', :src='`/svg/icon-` + icon + `.svg`', :alt='icon')
|
img(v-else-if='mode === `icon`', :src='`/_assets/svg/icon-` + icon + `.svg`', :alt='icon')
|
||||||
.subtitle-1.white--text {{ title }}
|
.subtitle-1.white--text {{ title }}
|
||||||
.caption {{ subtitle }}
|
.caption {{ subtitle }}
|
||||||
</template>
|
</template>
|
||||||
|
@ -93,7 +93,7 @@
|
|||||||
|
|
||||||
loader(v-model='isLoading', :mode='loaderMode', :icon='loaderIcon', :color='loaderColor', :title='loaderTitle', :subtitle='loaderSubtitle')
|
loader(v-model='isLoading', :mode='loaderMode', :icon='loaderIcon', :color='loaderColor', :title='loaderTitle', :subtitle='loaderSubtitle')
|
||||||
nav-footer(color='grey darken-5', dark-color='grey darken-5')
|
nav-footer(color='grey darken-5', dark-color='grey darken-5')
|
||||||
notify
|
notify(style='padding-top: 64px;')
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -135,10 +135,14 @@ router.get('/verify/:token', bruteforce.prevent, async (req, res, next) => {
|
|||||||
try {
|
try {
|
||||||
const usr = await WIKI.models.userKeys.validateToken({ kind: 'verify', token: req.params.token })
|
const usr = await WIKI.models.userKeys.validateToken({ kind: 'verify', token: req.params.token })
|
||||||
await WIKI.models.users.query().patch({ isVerified: true }).where('id', usr.id)
|
await WIKI.models.users.query().patch({ isVerified: true }).where('id', usr.id)
|
||||||
const result = await WIKI.models.users.refreshToken(usr)
|
|
||||||
req.brute.reset()
|
req.brute.reset()
|
||||||
|
if (WIKI.config.auth.enforce2FA) {
|
||||||
|
res.redirect('/login')
|
||||||
|
} else {
|
||||||
|
const result = await WIKI.models.users.refreshToken(usr)
|
||||||
res.cookie('jwt', result.token, { expires: moment().add(1, 'years').toDate() })
|
res.cookie('jwt', result.token, { expires: moment().add(1, 'years').toDate() })
|
||||||
res.redirect('/')
|
res.redirect('/')
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
next(err)
|
next(err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user