authentication - 如何在颤振应用程序的入口点检查身份验证令牌
问题描述
我需要知道如何在应用程序的入口点检查令牌。我已经通过 ` 将其保存在共享偏好中
_saveToken() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String token = await response.data['token'];
await prefs.setString('jwt', token);
}
` 如果这个 jwt 不为空,我需要绕过我的登录屏幕。我怎样才能做到这一点?
解决方案
如果您有启动画面,您应该创建一个如下所示的函数并在 initState 中调用。
countDownTime() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return Timer(
Duration(seconds: 3),
() async {
String uid = await prefs.getString('jwt');
if (uid != null) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => HomeScreen()),
);
} else {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoginScreen()),
);
}
},
);
}
...
...
@override
void initState() {
super.initState();
countDownTime();
}
这对我有用。:)
推荐阅读
- java - 在多个项目之间链接 maven 依赖项时出现 ClassNotFoundException
- airflow - 气流调度程序拒绝在恶魔模式下启动
- node.js - 在 mongodb 和节点 js 中堆内存不足
- javascript - Jquery检查未检查的转换不起作用
- java - 为什么 RecyclerView Adapter 是一个泛型类
- java - Vaadin 按钮单击不会立即执行
- python - 我非常坚持如何添加外卖选项,因为定义不起作用
- php - 从 java EE 通过 PHP 发送 HTML 数据而不使用 JSON 对象进行更改
- python - 如何使用 KV 语言在 Kivy 中制作自定义按钮?
- spring - 如何清理用于幂等 Spring 集成模式的元数据存储