瀏覽代碼

fix atob()

master
父節點
當前提交
f75a42af9a
共有 1 個文件被更改,包括 12 次插入 和 1 次删除
  1. +12
    -1
      src/components/RefreshTokenProvider.js

+ 12
- 1
src/components/RefreshTokenProvider.js 查看文件

@@ -48,7 +48,18 @@ const RefreshTokenProvider = ({ children }) => {
const checkTokenExpiry = useCallback(() => {
// Check if token is present and its expiry time
if (token.current) {
const tokenExp = JSON.parse(atob(token.current.split('.')[1])).exp;
let tokenExp;
try {
// JWT payload is base64url; atob needs standard base64
let payload = token.current.split('.')[1]
.replace(/-/g, '+')
.replace(/_/g, '/');
payload += '='.repeat((4 - (payload.length % 4)) % 4);
tokenExp = JSON.parse(atob(payload)).exp;
} catch (e) {
token.current = null;
return;
}
const currentTime = Math.floor(Date.now() / 1000);
const expiryTime = tokenExp - 30; // Refresh 30 seconds before expiry
// console.log("check refresh Token");


Loading…
取消
儲存