Überprüfen Sie, ob Benutzer angemeldet ist, Reagieren Js

Hallo Jungs, ich habe eine JWT-Authentifizierung in mein Projekt reagieren möchte ich eine Funktion um zu überprüfen, ob der Benutzer angemeldet . Mein login-Funktion ist wie folgt :

export function login(data) {
    const endpoint = '/api/auth/jwt/'
    const csrfToken = cookie.load('csrftoken')
    let thisComp = this
    if (csrfToken !== undefined) {
      let lookupOptions = {
          method: "POST",
          headers: {
              'Content-Type': 'application/json'

          },
          body: JSON.stringify(data),
          credentials: 'include'
      }

      fetch(endpoint, lookupOptions)
      .then(function(response){
          return response.json()
      }).then(function(responseData){
          console.log(responseData)
          localStorage.token = responseData.token
          localStorage.expires = responseData.expires //Store the token
          console.log("Token Stored", localStorage.token)
          console.log("Token Expires", responseData.expires)

          refreshToken(data) //Put in to the refresh function


        }).catch(function(error){

          console.log("error", error)
      })
     }
}

und meine Funktion isLoggedIn ist wie folgt :

export function isLoggedIn() {
    //Check if we have a token stored 
    if (localStorage.token !== undefined) {
    //I also want to check if the token is still work and don't expire 
    //i have acces to the expiration date like this :
    //localStorage.token == > Token Expires 2018-06-19T14:51:59.451703Z in 
    the console 
    //How can check if the token still work ? 
    return true
    }
    return false

}
InformationsquelleAutor Mickael Zana | 2018-06-12



One Reply
  1. 0

    Können Sie nicht nur überprüfen Sie die expires-Eigenschaft gespeichert, die in Ihrem lokalen Speicher, und vergleichen Sie Sie auf das aktuelle Datum ?

    Andere Möglichkeiten, damit umzugehen: speichern Sie das Ablaufdatum in das token selbst, dann verwenden Sie einen jwt-Decodierung Bibliothek zum entschlüsseln des Tokens und entpacken Sie es von dort. Wenn Sie mit refresh-Token können Sie einfach warten, für den server, um wieder eine 401 Unauthorized Antwort und senden Sie die refresh-token für ein neues anfordern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.