SPA의 토큰을 새로 고칩니다.

1778 단어 reactangulartokenvue
새로 고침 영패는 새 방문 영패를 얻을 수 있는 증빙서류입니다.
  • 영패를 갱신하는 생존기간은 방문 영패의 생존기보다 훨씬 길다.
  • 영패를 갱신해도 기한이 지나지만 수명이 길다.
  • 현재 접근 영패가 만료되거나 효력이 없을 때 서버에 권한을 부여하여 클라이언트에게 새로운 접근 영패를 얻기 위해 갱신 영패를 제공한다.

  • JWT 영패는 매우 특정한 시간 내에 유효하다.남은 기한이 지나면 방문 영패의 일부분으로 쉽게 얻을 수 있다.액세스 영패를 디코딩하고 만료 시간을 추출하기 위해 jwt decode 같은 라이브러리를 사용할 수 있습니다.일단 만기가 되면,
    여기 세 가지 옵션이 있어요.
  • 매번 요청 전에 영패를 검사하여 갱신이 필요한지 확인
  • setTimeout을 사용하여 만료 전 X초 동안 주기적으로 새로 고침
  • 보호된 경로가 401로 되돌아오면 새 접근 영패 요청
  • 본문에서 우리는 세 번째 방법을 보게 될 것이다
    위조 코드
    
    try {
    
      // api call to protected route
      const response = await fetch();
    
      if (res.status === 200) {
    
        // update state management library with accessToken, refreshToken you have received from response
        // update cookies/LocalStorage with accessToken, refreshToken you have received from response
    
      } else {
    
        // perform necessary action
    
      }
    } catch (error) {
    
      if (error.response.status === 401) {
    
        // get refreshToken from cookies or localstorage . in My case it's from cookies
        const refreshToken = cookies.readCookie("refreshToken");
    
        if (refreshToken) {
    
          // api call to GET new accessToken & refreshToken
          const response = await fetch();
    
          // update state management library with accessToken, refreshToken you have received from response
          // update cookies/LocalStorage with accessToken, refreshToken you have received from response
    
        } else {
    
          // redirect user to login
    
        }
      }
    }
    
    
    다음 글에서, 우리는 실패한api를 가져오는 방법을 보고, 사용자가 여러 개의 영패를 요청하는 것을 방지할 것입니다.

    좋은 웹페이지 즐겨찾기