README
Bundle Size - 1.54 Kb gzipped
Apollo Refresh Link
export const apolloLinkRefresh = new ApolloLinkTokenRefresh({
reduceExpireTime: 60,
currentAccessToken: () => getAccessToken(),
beforeFetch: () => null,
fetch: fetch('http://localhost:5000/refresh', { method: 'POST' }),
onResponse: async (res: Response) => {
const { accessToken, refreshToken } = await res.json()
setAccessToken(accessToken)
setRefreshToken(refreshToken)
},
onError: (err) => console.log(err),
})
Creating Apollo Link
const apolloLinks = ApolloLink.from([
apolloLinkRefresh,
apolloLinkRequest,
apolloLinkHTTP
])
ApolloLinkTokenRefreshOptions
Property | Type | Note |
---|---|---|
reduceExpireTime |
seconds number |
A safety time so that AccessToken does not expire on the fly |
currentAccessToken |
() => string |
A method returning current AccessToken |
beforeFetch |
() => void |
This method will be called before fetching AccessToken |
fetch |
() => Promise<Response> |
fetch() method |
onResponse |
(res: Response) => void |
fetch().then( onResponse ) |
onError |
(err: Error) => void |
fetch().then.catch( onError ) |