aboutsummaryrefslogtreecommitdiff
path: root/src/modules/oauth.js
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2019-06-16 11:18:21 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2019-06-16 11:18:21 +0000
commit1db3c785d805bfe1e7bb09f2d85875448cb03f9a (patch)
treefe756a5a3d9271966e9585166fa2c0ec9e372a4e /src/modules/oauth.js
parent1fc460a7a518f9a33e5b453070dc57e9e463fda1 (diff)
parentacbeea59ff196c16e7992c80e56a638ce3a623b6 (diff)
Merge branch 'masto-register-app-secret' into 'develop'
Proper clientId/secret/token caching, MastoAPI registration Closes #554 See merge request pleroma/pleroma-fe!806
Diffstat (limited to 'src/modules/oauth.js')
-rw-r--r--src/modules/oauth.js37
1 files changed, 30 insertions, 7 deletions
diff --git a/src/modules/oauth.js b/src/modules/oauth.js
index 144ff830..11cb10fe 100644
--- a/src/modules/oauth.js
+++ b/src/modules/oauth.js
@@ -1,16 +1,39 @@
const oauth = {
state: {
- client_id: false,
- client_secret: false,
- token: false
+ clientId: false,
+ clientSecret: false,
+ /* App token is authentication for app without any user, used mostly for
+ * MastoAPI's registration of new users, stored so that we can fall back to
+ * it on logout
+ */
+ appToken: false,
+ /* User token is authentication for app with user, this is for every calls
+ * that need authorized user to be successful (i.e. posting, liking etc)
+ */
+ userToken: false
},
mutations: {
- setClientData (state, data) {
- state.client_id = data.client_id
- state.client_secret = data.client_secret
+ setClientData (state, { clientId, clientSecret }) {
+ state.clientId = clientId
+ state.clientSecret = clientSecret
+ },
+ setAppToken (state, token) {
+ state.appToken = token
},
setToken (state, token) {
- state.token = token
+ state.userToken = token
+ }
+ },
+ getters: {
+ getToken: state => () => {
+ // state.token is userToken with older name, coming from persistent state
+ // added here for smoother transition, otherwise user will be logged out
+ return state.userToken || state.token || state.appToken
+ },
+ getUserToken: state => () => {
+ // state.token is userToken with older name, coming from persistent state
+ // added here for smoother transition, otherwise user will be logged out
+ return state.userToken || state.token
}
}
}