Skip to content

Commit

Permalink
feat: improve setUserToken to set refresh token (#721)
Browse files Browse the repository at this point in the history
Improve `setUserToken` to set refresh token as second parameter and fix `setUserToken` of `local` scheme.
  • Loading branch information
JoaoPedroAS51 committed Jun 14, 2020
1 parent a6f773a commit 6ab4c1e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/core/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,13 +169,13 @@ export default class Auth {
})
}

setUserToken (token) {
setUserToken (token, refreshToken?) {
if (!this.strategy.setUserToken) {
this.strategy.token.set(token)
return Promise.resolve()
}

return Promise.resolve(this.strategy.setUserToken(token)).catch((error) => {
return Promise.resolve(this.strategy.setUserToken(token, refreshToken)).catch((error) => {
this.callOnError(error, { method: 'setUserToken' })
return Promise.reject(error)
})
Expand Down
6 changes: 3 additions & 3 deletions src/schemes/local.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getProp, getResponseProp } from '../utils'
import { getResponseProp } from '../utils'
import Token from '../inc/token'
import RequestHandler from '../inc/request-handler'
import type { SchemeCheck, SchemeOptions, HTTPRequest } from '../'
Expand Down Expand Up @@ -163,8 +163,8 @@ export default class LocalScheme extends BaseScheme<typeof DEFAULTS> {
return response
}

async setUserToken (tokenValue) {
this.token.set(getProp(tokenValue, this.options.token.property))
async setUserToken (token) {
this.token.set(token)

// Fetch user
return this.fetchUser()
Expand Down
11 changes: 11 additions & 0 deletions src/schemes/refresh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,17 @@ export default class RefreshScheme extends LocalScheme {
})
}

async setUserToken (token, refreshToken?) {
this.token.set(token)

if (refreshToken) {
this.refreshToken.set(refreshToken)
}

// Fetch user
return this.fetchUser()
}

reset ({ resetInterceptor = true } = {}) {
this.$auth.setUser(false)
this.token.reset()
Expand Down

0 comments on commit 6ab4c1e

Please sign in to comment.