【问题标题】:Verify User Token in Laravel在 Laravel 中验证用户令牌
【发布时间】:2020-08-08 09:56:01
【问题描述】:

我有一个使用 laravel 作为后端的 ionic 3 应用程序。对于身份验证,我使用的是 JWT,从注册、登录和在应用程序中发布数据一切正常。

当用户关闭移动应用并再次打开它时,问题就开始了,我希望应用使用存储中保存的令牌自动登录用户。

下面的代码用于检查用户是否有token在存储中,如果有则需要将token发送到laravel后端进行验证。

verifyToken() {
    return new Promise((resolve, reject) => {
      this.storage.get("token").then((value) => {
        let headers = new Headers();
        headers.append("Accept", "application/json");
        headers.append("Content-Type", "application/json");
        headers.append("Authorization", "Bearer " + value);
        this.http.post(ApiUrl + "/verifyToken", { headers: headers }).subscribe(
          (res) => {
            let data = res.json();
            console.log("Valid token results:", data);
            resolve(data);
          },
          (error: any) => {
            console.log("Token was invalid", error);
            reject(JSON.parse(error._body));
          }
        );
      });
    });
  }


在 Laravel 后端我有这个验证码

 public function verifyToken()
    {
        try {

            if (! $user = JWTAuth::parseToken()->authenticate()) {
                return response()->json(['success' => false, 'error' => 'User not found.',$e->getStatusCode()], 404);
            }

        } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {

            return response()->json(['success' => false, 'error' => 'Login Token expired.',$e->getStatusCode()], 401);

        } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {

            return response()->json(['success' => false, 'error' => 'Login Token invalid.',$e->getStatusCode()], 401);

        } catch (Tymon\JWTAuth\Exceptions\JWTException $e) {

            return response()->json(['success' => false, 'error' => 'Login Token not supplied.',$e->getStatusCode()], 401);

        }

        // the token is valid and we have found the user
        return response()->json(['success' => true, 'message' => 'Token is valid.'], 200);

    }

当我通过邮递员进行测试并提供有效的用户令牌时,我得到状态 200,但是当我在移动应用程序上执行相同操作时,我得到一个错误 500

"message": "The token could not be parsed from the request",
"exception": "Tymon\JWTAuth\Exceptions\JWTException",.

【问题讨论】:

    标签: laravel laravel-5 ionic3 jwt


    【解决方案1】:

    我设法让它工作,当我在 ionic 中发送我的帖子时,我必须在 body 中传递令牌。

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 2017-07-13
      • 2018-11-22
      • 2018-02-01
      • 2021-06-10
      • 2020-10-28
      • 2018-04-20
      • 1970-01-01
      • 2019-11-24
      相关资源
      最近更新 更多