Compare commits

..

1 Commits

Author SHA1 Message Date
Rakov 4b64a17b02 fix(safari): safari logout fix 2 years ago
  1. 16
      src/features/AuthStore/hooks/useAuth.tsx
  2. 5
      src/features/SystemSettings/hooks.tsx

@ -14,7 +14,11 @@ import isString from 'lodash/isString'
import isBoolean from 'lodash/isBoolean'
import includes from 'lodash/includes'
import { PAGES } from 'config'
import {
PAGES,
isFacrClient,
isLffClient,
} from 'config'
import {
addLanguageUrlParam,
@ -163,14 +167,17 @@ export const useAuth = () => {
}
}
const signinRedirectCallback = useCallback((refreshToken: string | null) => {
const signinRedirectCallback = useCallback(async (refreshToken: string | null) => {
setPage(history.location.pathname)
userManager.signinRedirectCallback()
.then((loadedUser) => {
storeUser(loadedUser)
if (refreshToken) writeRefreshToken(refreshToken)
if (
refreshToken
&& (isLffClient || isFacrClient)
) writeRefreshToken(refreshToken)
queryParamStorage.clear()
if (page.includes(PAGES.useraccount)) {
@ -242,7 +249,6 @@ export const useAuth = () => {
checkNewDevice,
isNewDeviceLogin,
setIsNewDeviceLogin,
user,
])
duel.channel('active_page') // поле в LS, определяющее активность вкладки
@ -255,7 +261,7 @@ export const useAuth = () => {
// safari ограничивает доступ к куке через крос доменные запросы
// передаем рефреш токен через квери параметры
userManager.signinSilent({
extraQueryParams: {
extraQueryParams: (isLffClient || isFacrClient) && {
refresh_token: readRefreshToken(),
},
}).catch(logout)

@ -9,8 +9,8 @@ import { SELECTED_API_KEY } from 'helpers/selectedApi'
import { useToggle } from 'hooks/useToggle'
import { useLocalStore } from 'hooks/useStorage'
import { removeRefreshToken, removeToken } from 'helpers'
import { removeCookie } from 'helpers/cookie'
import { removeToken } from '../../helpers'
import { removeCookie } from '../../helpers/cookie'
type FormElement = HTMLFormElement & {
api: HTMLInputElement & {
@ -37,7 +37,6 @@ export const useSystemSettings = () => {
const { api } = e.currentTarget
setSelectedApi(api.value)
removeToken()
removeRefreshToken()
removeCookie('access_token')
window.location.reload()
}

Loading…
Cancel
Save