swift:一定时间后自动注销



我正在开发一个通过.net api连接到服务器的应用程序。

用户登录后会生成一个访问令牌,用于进行网络呼叫。

要求:生成访问令牌20分钟后令牌过期,用户必须再次登录才能继续使用应用程序。

我如何实现这一功能,即20分钟后用户将从应用程序注销并重定向到主页。

如果用户在登录20分钟后仍在使用应用程序?如何在应用程序中保存访问令牌,并在用户注销后将其删除。

我在目标c中看到了几个答案,但我希望答案迅速。

将您的访问令牌保存到密钥链中,并对其进行时间戳。

编写一个函数,从密钥链中获取API令牌。每次该函数访问访问令牌时,它都应该检查其时间戳是否早于20分钟,它应该返回nil,然后您应该将用户带到主屏幕。

欢迎使用堆栈溢出

简短回答

在应用程序中创建一个计时器委派来跟踪令牌到期。并在需要时重置计时器。

长应答TLDR

要实现您所解释的功能,我们需要

  • 仅在应用程序委派中跟踪访问令牌到期情况。

  • 当用户从AppDelegate登录时,启动计时器20分钟。

  • 在进行任何API调用访问来自应用程序代理的令牌之前(在内部,您可以保存在任何安全方法中,例如KeyChain(
  • 从应用程序访问令牌时,委派检查计时器是否已过期。如果是,请在窗口中显示您的登录屏幕
  • 如果不存在,则进行API调用并让用户执行任务

此方法的优势

如果您确定访问令牌将在20分钟后过期,那么在不进行任何API调用的情况下,我们可以将用户从应用程序注销。

相关内容

  • 没有找到相关文章

最新更新