diff --git a/public/silent-refresh.html b/public/silent-refresh.html index 56cfb515..852cc138 100644 --- a/public/silent-refresh.html +++ b/public/silent-refresh.html @@ -1,46 +1,15 @@ - - - + - - \ No newline at end of file + diff --git a/src/features/AuthStore/hooks/useAuth.tsx b/src/features/AuthStore/hooks/useAuth.tsx index 41ec48e9..115a0a28 100644 --- a/src/features/AuthStore/hooks/useAuth.tsx +++ b/src/features/AuthStore/hooks/useAuth.tsx @@ -14,7 +14,7 @@ import isString from 'lodash/isString' import isBoolean from 'lodash/isBoolean' import includes from 'lodash/includes' -import { PAGES, isIOS } from 'config' +import { PAGES } from 'config' import { addLanguageUrlParam, @@ -24,7 +24,6 @@ import { setCookie, removeCookie, isMatchPage, - getDomain, } from 'helpers' import { @@ -66,14 +65,6 @@ export const useAuth = () => { }) } - const parseJwt = (value: string) => { - const base64Url = value.split('.')[1] - const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/') - const jsonPayload = decodeURIComponent(window.atob(base64).split('').map((c) => `%${(`00${c.charCodeAt(0).toString(16)}`).slice(-2)}`).join('')) - - return JSON.parse(jsonPayload) - } - const login = useCallback(async () => { userManager.signinRedirect({ extraQueryParams: { lang } }) }, [lang]) @@ -88,7 +79,6 @@ export const useAuth = () => { removeToken() if (key !== 'saveToken') { removeCookie('access_token') - removeCookie('refresh_token') } // eslint-disable-next-line react-hooks/exhaustive-deps }, [lang]) @@ -168,21 +158,12 @@ export const useAuth = () => { } } - const saveRefreshToken = (value: string) => { - const ref = parseJwt(value) - const expires = `expires=${new Date((ref.exp * 1000)).toUTCString()}` - document.cookie = `refresh_token=${value};${expires};path=/;domain=${getDomain()};secure;SameSite=None` - } - - const signinRedirectCallback = useCallback(async (refreshToken: string | null) => { + const signinRedirectCallback = useCallback(() => { setPage(history.location.pathname) userManager.signinRedirectCallback() .then((loadedUser) => { storeUser(loadedUser) - - if (isIOS && refreshToken) saveRefreshToken(refreshToken) - queryParamStorage.clear() if (page.includes(PAGES.useraccount)) { history.push(PAGES.home) @@ -206,13 +187,10 @@ export const useAuth = () => { const searchToken = urlSearch.get('access_token') const searchRefToken = urlSearch.get('id_token') const searchExp = urlSearch.get('expires_in') - const refreshToken = urlSearch.get('refresh_token') const isRedirectedBackFromAuthProvider = Boolean(searchToken && searchRefToken && searchExp) - isRedirectedBackFromAuthProvider - ? signinRedirectCallback(refreshToken) - : checkUser() + isRedirectedBackFromAuthProvider ? signinRedirectCallback() : checkUser() // eslint-disable-next-line react-hooks/exhaustive-deps }, [ checkUser, diff --git a/src/features/SystemSettings/hooks.tsx b/src/features/SystemSettings/hooks.tsx index fb200f3e..8ab7df2e 100644 --- a/src/features/SystemSettings/hooks.tsx +++ b/src/features/SystemSettings/hooks.tsx @@ -38,7 +38,6 @@ export const useSystemSettings = () => { setSelectedApi(api.value) removeToken() removeCookie('access_token') - removeCookie('refresh_token') window.location.reload() } diff --git a/src/helpers/cookie/index.tsx b/src/helpers/cookie/index.tsx index 87b22f22..cbad2d33 100644 --- a/src/helpers/cookie/index.tsx +++ b/src/helpers/cookie/index.tsx @@ -29,7 +29,7 @@ export const checkCookie = (name: string) => { return token[0] } -export const getDomain = () => ( +const getDomain = () => ( process.env.NODE_ENV === 'development' ? 'localhost' : '.insports.tv' diff --git a/src/requests/getCredentials.tsx b/src/requests/getCredentials.tsx deleted file mode 100644 index dce5eb7e..00000000 --- a/src/requests/getCredentials.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { AUTH_SERVICE } from 'config' -import { ClientIds } from 'config/clients/types' - -export type TokenFailedResponse = { - error?: { - code: number, - message: string, - }, - ok: false, -} - -type TokenResponse = { - access_token: string, - id_token: string, - refresh_token: string, -} - -type TokenProps = { - client_id: ClientIds, - email?: 'string', - grant_type?: 'password' | 'refresh_token', - id_token?: 'string', - password?: 'string', - refresh_token: string, -} - -export const getCredentials = async ({ - client_id, - grant_type = 'refresh_token', - refresh_token, -}: TokenProps): Promise => { - const url = new URL(`${AUTH_SERVICE}/token`) - - const credetials = await fetch(url, { - body: JSON.stringify({ - client_id, - grant_type, - refresh_token, - }), - headers: { - 'Content-Type': 'application/json', - }, - method: 'POST', - }) - - const body: TokenResponse | TokenFailedResponse = await credetials.json() - - if ('ok' in body) return Promise.reject(body.error) - - return Promise.resolve(body) -}