From e7a2a7267dbd8a4ee3d266d22249459d028569d6 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 22 May 2019 19:13:41 +0300 Subject: Proper clientId/secret/token caching, MastoAPI registration --- src/components/login_form/login_form.js | 16 ++++++++++------ src/components/oauth_callback/oauth_callback.js | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index dc917e47..0097e18a 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -11,22 +11,26 @@ const LoginForm = { }, methods: { oAuthLogin () { - oauthApi.login({ - oauth: this.$store.state.oauth, + const data = { + ...this.$store.state.oauth, instance: this.$store.state.instance.server, commit: this.$store.commit - }) + } + + oauthApi.getOrCreateApp(data) + .then((app) => { oauthApi.login({ ...app, ...data }) }) }, submit () { const data = { - oauth: this.$store.state.oauth, - instance: this.$store.state.instance.server + ...this.$store.state.oauth, + instance: this.$store.state.instance.server, + commit: this.$store.commit } this.clearError() oauthApi.getOrCreateApp(data).then((app) => { oauthApi.getTokenWithCredentials( { - app, + ...app, instance: data.instance, username: this.user.username, password: this.user.password diff --git a/src/components/oauth_callback/oauth_callback.js b/src/components/oauth_callback/oauth_callback.js index e3d45ee1..48ddd10d 100644 --- a/src/components/oauth_callback/oauth_callback.js +++ b/src/components/oauth_callback/oauth_callback.js @@ -5,13 +5,13 @@ const oac = { mounted () { if (this.code) { oauth.getToken({ - app: this.$store.state.oauth, + ...this.$store.state.oauth, instance: this.$store.state.instance.server, code: this.code }).then((result) => { this.$store.commit('setToken', result.access_token) this.$store.dispatch('loginUser', result.access_token) - this.$router.push({name: 'friends'}) + this.$router.push({ name: 'friends' }) }) } } -- cgit v1.2.3-70-g09d2 From af75c6d1ea392477c647708dcd0e712c514a1b60 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 13 Jun 2019 00:39:51 +0300 Subject: No longer sending extra data, renamed some properties --- src/boot/after_store.js | 4 ++-- src/components/login_form/login_form.js | 6 ++++-- src/components/oauth_callback/oauth_callback.js | 4 +++- src/modules/oauth.js | 10 +++++----- 4 files changed, 14 insertions(+), 10 deletions(-) (limited to 'src/components') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index caaede59..4bcd1fb5 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -246,9 +246,9 @@ const setConfig = async ({ store }) => { const checkOAuthToken = async ({ store }) => { return new Promise(async (resolve, reject) => { - if (store.state.oauth.token) { + if (store.state.oauth.userToken) { try { - await store.dispatch('loginUser', store.state.oauth.token) + await store.dispatch('loginUser', store.state.oauth.userToken) } catch (e) { console.log(e) } diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index 0097e18a..7d49fade 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -11,8 +11,9 @@ const LoginForm = { }, methods: { oAuthLogin () { + const { clientId } = this.$store.state.oauth const data = { - ...this.$store.state.oauth, + clientId, instance: this.$store.state.instance.server, commit: this.$store.commit } @@ -21,8 +22,9 @@ const LoginForm = { .then((app) => { oauthApi.login({ ...app, ...data }) }) }, submit () { + const { clientId } = this.$store.state.oauth const data = { - ...this.$store.state.oauth, + clientId, instance: this.$store.state.instance.server, commit: this.$store.commit } diff --git a/src/components/oauth_callback/oauth_callback.js b/src/components/oauth_callback/oauth_callback.js index 48ddd10d..2c6ca235 100644 --- a/src/components/oauth_callback/oauth_callback.js +++ b/src/components/oauth_callback/oauth_callback.js @@ -4,8 +4,10 @@ const oac = { props: ['code'], mounted () { if (this.code) { + const { clientId } = this.$store.state.oauth + oauth.getToken({ - ...this.$store.state.oauth, + clientId, instance: this.$store.state.instance.server, code: this.code }).then((result) => { diff --git a/src/modules/oauth.js b/src/modules/oauth.js index 242e29c3..4b233b21 100644 --- a/src/modules/oauth.js +++ b/src/modules/oauth.js @@ -2,8 +2,8 @@ const oauth = { state: { clientId: false, clientSecret: false, - token: false, - clientToken: false + appToken: false, + userToken: false }, mutations: { setClientData (state, { clientId, clientSecret }) { @@ -11,15 +11,15 @@ const oauth = { state.clientSecret = clientSecret }, setClientToken (state, token) { - state.clientToken = token + state.appToken = token }, setToken (state, token) { - state.token = token + state.userToken = token } }, getters: { getToken: state => () => { - return state.token || state.clientToken + return state.userToken || state.appToken } } } -- cgit v1.2.3-70-g09d2 From edb24da016cc19fefceacd339beec55dd304045f Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 13 Jun 2019 01:02:08 +0300 Subject: fix --- src/components/login_form/login_form.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index da302c76..b9680c79 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -41,7 +41,8 @@ const LoginForm = { const data = { clientId, oauth: this.oauth, - instance: this.instance.server + instance: this.instance.server, + commit: this.$store.commit } this.error = false -- cgit v1.2.3-70-g09d2