fix(1748): changed sending token from cookie to url param in player (#515)

keep-around/af30b88d367751c9e05a735e4a0467a96238ef47
Mirlan 4 years ago
parent 6bd436b80b
commit 59aa0063dd
  1. 7
      src/features/AuthStore/hooks/useAuth.tsx
  2. 9
      src/features/StreamPlayer/config.tsx
  3. 2
      src/features/StreamPlayer/hooks/useHlsPlayer.tsx

@ -14,7 +14,6 @@ import isString from 'lodash/isString'
import { PAGES } from 'config' import { PAGES } from 'config'
import { writeToken, removeToken } from 'helpers/token' import { writeToken, removeToken } from 'helpers/token'
import { setCookie, removeCookie } from 'helpers/cookie'
import { isMatchPage } from 'helpers/isMatchPage' import { isMatchPage } from 'helpers/isMatchPage'
import { useLocalStore, useToggle } from 'hooks' import { useLocalStore, useToggle } from 'hooks'
@ -42,17 +41,11 @@ export const useAuth = () => {
userManager.signoutRedirect({ post_logout_redirect_uri: url }) userManager.signoutRedirect({ post_logout_redirect_uri: url })
}) })
removeToken() removeToken()
removeCookie('access_token')
}, [userManager]) }, [userManager])
const storeUser = useCallback((loadedUser: User) => { const storeUser = useCallback((loadedUser: User) => {
setUser(loadedUser) setUser(loadedUser)
writeToken(loadedUser.access_token) writeToken(loadedUser.access_token)
setCookie({
exdays: 1,
name: 'access_token',
value: loadedUser.access_token,
})
}, []) }, [])
const checkUser = useCallback(async () => { const checkUser = useCallback(async () => {

@ -1,10 +1,13 @@
import Hls from 'hls.js' import Hls from 'hls.js'
import { readToken } from 'helpers/token'
export const streamConfig: Partial<Hls.Config> = { export const streamConfig: Partial<Hls.Config> = {
liveSyncDuration: 10, liveSyncDuration: 10,
maxBufferLength: 15, maxBufferLength: 15,
xhrSetup: (xhr) => { xhrSetup: (xhr, urlString) => {
// eslint-disable-next-line no-param-reassign const url = new URL(urlString)
xhr.withCredentials = true url.searchParams.set('access_token', readToken() || '')
xhr.open('GET', url.toString())
}, },
} }

@ -27,6 +27,8 @@ export const useHlsPlayer = (src: string, resumeFrom?: number) => {
hls.attachMedia(video) hls.attachMedia(video)
}, [src, hls]) }, [src, hls])
useEffect(() => () => hls.destroy(), [hls])
return { return {
hls, hls,
videoRef, videoRef,

Loading…
Cancel
Save