首页 > 解决方案 > 如何在颤振应用程序的入口点检查身份验证令牌

问题描述

我需要知道如何在应用程序的入口点检查令牌。我已经通过 ` 将其保存在共享偏好中

_saveToken() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    String token = await response.data['token'];
    await prefs.setString('jwt', token);
  }

` 如果这个 jwt 不为空,我需要绕过我的登录屏幕。我怎样才能做到这一点?

标签: authenticationflutterdartjwt

解决方案


如果您有启动画面,您应该创建一个如下所示的函数并在 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();
  }

这对我有用。:)


推荐阅读