颤振错误使用jwt令牌授权

Posted

技术标签:

【中文标题】颤振错误使用jwt令牌授权【英文标题】:flutter error Authorization with jwt token 【发布时间】: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()' 【参考方案1】:

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

【讨论】:

同样的问题我未经身份验证【参考方案2】:

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

String _getToken()
 return 'token';

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

 'Authorization' : 'Bearer $token'

【讨论】:

同样的问题我未经身份验证

以上是关于颤振错误使用jwt令牌授权的主要内容,如果未能解决你的问题,请参考以下文章

即使我在授权中输入令牌,JWT 仍返回无效签名错误

.NET Core 中的 JWT 授权——401 错误

转到Spring Boot 1.5.1和OAuth2 + JWT令牌 - 错误401未经授权

未经授权使用jwt令牌

ASP.NET Core 2.0 JWT 验证失败并出现“用户授权失败:(null)”错误

从前端发送的授权令牌不起作用(JWT)