如何解决为什么我无法使用 Laravel 护照注销我的 Flutter 应用程序
我正在使用 Laravel 护照开发 Flutter 身份验证系统。但是有一个问题我想尝试注销。
这是我在flutter中的注销按钮:
Center(
child: RaisedButton(
elevation: 10,onPressed: () {
logout();
},color: Colors.teal,shape: RoundedRectangleBorder(borderRadius:
BorderRadius.all(Radius.circular(10))
),child: Text('Logout'),),void logout() async {
var res = await Network().getData('/logout');
var body = json.decode(res.body);
if(body['success']) {
SharedPreferences localStorage = await SharedPreferences.getInstance();
localStorage.remove('user');
localStorage.remove('token');
Navigator.push(
context,MaterialPageRoute(builder: (context)=> Login())
);
}
}
在 Laravel 中:
Route::get('/logout','UsersController@logout')->middleware('auth:api');
和
public function logout(Request $res)
{
if (Auth::user()) {
$user = Auth::user()->token();
$user->revoke();
return response()->json([
'success' => true,'message' => 'Logout successfully'
]);
} else {
return response()->json([
'success' => false,'message' => 'Unable to Logout'
]);
}
}
是我的代码和控制器。但是当我在颤动中点击 logout
时,它显示了这个错误:
[VERBOSE-2:ui_dart_state.cc(186)] 未处理的异常:失败的断言:布尔表达式不能为空 #0 _HomeState.logout (package:coresystem/screen/home.dart:207:12)
第207行的dart代码:
if(body['success']) {
谁能告诉我我错过了什么?
我可以通过 Laravel 中的 rest api 成功登录,它生成了令牌,但我无法从应用程序注销到登录页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。