【问题标题】:flutter error Authorization with jwt token颤振错误使用jwt令牌授权
【发布时间】:2021-10-20 21:47:01
【问题描述】:

我将flutter用于移动开发应用程序,将laravel用于api开发,在邮递员中它工作得很好,但我在Flutter中发现了错误授权。 错误是返回此消息:

{ 消息:“未经身份验证”}

代码颤动:

    _getToken() async {
    SharedPreferences _prefs = await SharedPreferences.getInstance();
    token = jsonDecode(_prefs.getString('token'));
  }
    _setHeaders() => {
    'Content-type' : 'application/json',
    'Accept' : 'application/json',
    'Authorization' : 'Bearer $_getToken()'
  };

这是代码中间件 laravel:

public function handle($request, Closure $next, ...$guards)
{
    if ($jwt = $request->cookie('jwt')) {
        $request->headers->set('Authorization', 'Bearer ' . $jwt);
    }

    $this->authenticate($request, $guards);

    return $next($request);
}

如何解决这个错误,谢谢。

【问题讨论】:

  • 打印此行:'Authorization' : 'Bearer $_getToken()'

标签: laravel flutter dart jwt flutter-layout


【解决方案1】:

您不会从 _getToken() 函数返回令牌值。因此,您不要将令牌添加到标题中:'Authorization' : 'Bearer $_getToken()'

【讨论】:

  • 同样的问题我未经身份验证
【解决方案2】:

你的_getToken() 应该返回一些东西。这是一个例子。

String _getToken(){
 return 'token';
}

如果使用 back 您的功能仍然可以工作。使用token 而不是使用_getToken(),因为您的函数不会返回任何内容。

 'Authorization' : 'Bearer $token'

【讨论】:

  • 同样的问题我未经身份验证
猜你喜欢
  • 2018-06-05
  • 2020-10-20
  • 2021-08-17
  • 2017-08-22
  • 2017-07-09
  • 2023-03-18
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多