Merge branch 'fix-token-auth-login' into 'develop'

Fix broken token authentication

See merge request pleroma/pleroma-fe!846
This commit is contained in:
HJ 2019-06-22 07:47:30 +00:00
commit 5a8f3dddfd
6 changed files with 16 additions and 5 deletions

View File

@ -26,9 +26,10 @@ const LoginForm = {
this.isTokenAuth ? this.submitToken() : this.submitPassword()
},
submitToken () {
const { clientId } = this.oauth
const { clientId, clientSecret } = this.oauth
const data = {
clientId,
clientSecret,
instance: this.instance.server,
commit: this.$store.commit
}

View File

@ -4,10 +4,11 @@ const oac = {
props: ['code'],
mounted () {
if (this.code) {
const { clientId } = this.$store.state.oauth
const { clientId, clientSecret } = this.$store.state.oauth
oauth.getToken({
clientId,
clientSecret,
instance: this.$store.state.instance.server,
code: this.code
}).then((result) => {

View File

@ -19,7 +19,8 @@ const saveImmedeatelyActions = [
'setHighlight',
'setOption',
'setClientData',
'setToken'
'setToken',
'clearToken'
]
const defaultStorage = (() => {

View File

@ -21,7 +21,7 @@ const chat = {
},
actions: {
disconnectFromChat (store) {
store.state.socket.disconnect()
store.state.socket && store.state.socket.disconnect()
},
initializeChat (store, socket) {
const channel = socket.channel('chat:public')

View File

@ -1,3 +1,5 @@
import { delete as del } from 'vue'
const oauth = {
state: {
clientId: false,
@ -22,6 +24,12 @@ const oauth = {
},
setToken (state, token) {
state.userToken = token
},
clearToken (state) {
state.userToken = false
// state.token is userToken with older name, coming from persistent state
// let's clear it as well, since it is being used as a fallback of state.userToken
del(state, 'token')
}
},
getters: {

View File

@ -399,7 +399,7 @@ const users = {
logout (store) {
store.commit('clearCurrentUser')
store.dispatch('disconnectFromChat')
store.commit('setToken', false)
store.commit('clearToken')
store.dispatch('stopFetching', 'friends')
store.commit('setBackendInteractor', backendInteractorService(store.getters.getToken()))
store.dispatch('stopFetching', 'notifications')