我有一个应用程序,它在首次启动时显示登录屏幕。当用户登录时,我给他们一个保持登录的选项。这会在我的服务器上建立一个到期的会话。做以下事情最合适的方法是什么:
- 存储用户是否登录
- 在应用程序启动时,根据有效性向用户提供登录或注销选项他们的会议
- 如果他们选择注销(或会话已过期),则结束当前会话
我猜这是一种常见的设计模式,应该有经过尝试和测试的方法来做到这一点,但我似乎使用了错误的术语来搜索,因为我还没有找到满意的答案。
一些想法:
- 我建议您将敏感会话信息存储在应用程序的KeyChain中。我不会在这里存储用户是否登录的状态,只是将其存储在内存中。当会话不存在或用户已注销时,您的Web服务应该能够返回错误
- 如果后端确定了会话的有效性,那么您应该有一个RESTful调用,在那里您可以传递会话信息,返回会话是否仍然有效
- 同样,如果他们选择注销,那么您可以对后端执行另一个调用,传递会话信息
对于Keychain,请使用Apple示例中的KeychainItemWrapper。