feat: use AuthenticatedHTTPFactory for refreshToken (#1546)
Co-authored-by: Dominik Pschenitschni <mail@celement.de> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/1546 Reviewed-by: konrad <k@knt.li> Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de> Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
This commit is contained in:
parent
026ee3e8da
commit
8df73c973b
1 changed files with 3 additions and 11 deletions
|
@ -1,4 +1,4 @@
|
|||
import {HTTPFactory} from '@/http-common'
|
||||
import {AuthenticatedHTTPFactory} from '@/http-common'
|
||||
import {AxiosResponse} from 'axios'
|
||||
|
||||
let savedToken: string | null = null
|
||||
|
@ -6,8 +6,6 @@ let savedToken: string | null = null
|
|||
/**
|
||||
* Saves a token while optionally saving it to lacal storage. This is used when viewing a link share:
|
||||
* It enables viewing multiple link shares indipendently from each in multiple tabs other without overriding any other open ones.
|
||||
* @param token
|
||||
* @param persist
|
||||
*/
|
||||
export const saveToken = (token: string, persist: boolean) => {
|
||||
savedToken = token
|
||||
|
@ -18,7 +16,6 @@ export const saveToken = (token: string, persist: boolean) => {
|
|||
|
||||
/**
|
||||
* Returns a saved token. If there is one saved in memory it will use that before anything else.
|
||||
* @returns {string|null}
|
||||
*/
|
||||
export const getToken = (): string | null => {
|
||||
if (savedToken !== null) {
|
||||
|
@ -39,16 +36,11 @@ export const removeToken = () => {
|
|||
|
||||
/**
|
||||
* Refreshes an auth token while ensuring it is updated everywhere.
|
||||
* @returns {Promise<AxiosResponse<any>>}
|
||||
*/
|
||||
export async function refreshToken(persist: boolean): Promise<AxiosResponse> {
|
||||
const HTTP = HTTPFactory()
|
||||
const HTTP = AuthenticatedHTTPFactory()
|
||||
try {
|
||||
const response = await HTTP.post('user/token', null, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${getToken()}`,
|
||||
},
|
||||
})
|
||||
const response = await HTTP.post('user/token')
|
||||
saveToken(response.data.token, persist)
|
||||
return response
|
||||
|
||||
|
|
Loading…
Reference in a new issue