Попытка декодировать токен JWT, однако функция декодирования, возвращающая неожиданный объект и атрибуты, недоступна - PullRequest
0 голосов
/ 20 апреля 2020

заранее благодарю за помощь. В настоящее время я пытаюсь декодировать токен JWT в моем приложении для взаимодействия с внешним интерфейсом, отправляемом из API-интерфейса ruby on rails restful. Я создаю токен на внутренней стороне следующим образом:

def create

    @user = User.find_by(email: session_params[:email])

    if @user && @user.authenticate(session_params[:password])

        token = JWT.encode(@user, ENV["JWT_SECRET"])


        render json: {
            email: @user.email, 
            name: @user.name, 
            discipline: @user.discipline,
            id: @user.id,
            token: token
        } 
    else
        render json:{
            error: "User not Found",
            details: @user.errors.full_messages
        }, status: :unauthorized
    end
end

Затем я сохраняю его в локальном хранилище на внешней стороне, а затем пытаюсь декодировать токен следующим образом:

export function checkLoginStatus() {
  let token = window.localStorage.getItem("ST_APP");
  if (token) {
    let user = decode(token);
    console.log(user);
    return user; //returns user object
  } else {
    return false; //returns false if ST_APP token not found in local storage
  }
}```

The problem is that console.log(user) prints #<User:0x00007f3870068ec0> and the attributes of the object are innaccessible. From all the documentation I have been looking at I would expect decode(token) to return a plain old javascript object that I could then access the attributes of. This is my first time working with JWT tokens so any advice is appreciated.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...