Web API客户端单例与NSUserDefaults中的令牌

乔乔

我子类化为AFHTTPSessionManagerWeb API创建客户端。基本的东西...sharedInstance作为一个单例和获取特定数据的方法等。到目前为止,一切都很好。但是有一个棘手的部分。用户需要登录,作为响应,他将获得一个uniqe令牌,该令牌将存储在中NSUserDefaults因此,如果内部存储有令牌,NSUserDefaults则用于标识服务器上的用户并使他能够发送请求而无需每次登录。该令牌的TTL较长,但是用户可能会重新安装应用或创建新帐户,因此令牌会增加。

我的问题是如何连接此AFHTTPSessionManager子类和存储在其中的令牌NSUserDefaults最好在此客户端中创建一个属性,在shaedInstance调用方法时将对其进行检查还是每次我要发出HTTP请求时都手动检查它?

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

根据文档,继承AFHTTPSessionManager和创建单例是在iOS 7及更高版本上运行的方法:

鼓励以iOS 7或Mac OS X 10.9或更高版本为目标,并大量处理Web服务的开发人员创建子类AFHTTPSessionManager,该类提供一种返回共享单例对象的类方法,在该对象上可以在应用程序之间共享身份验证和其他配置。

检查NSUserDefaults何时sharedInstance请求可能不是正确的方法,因为这样做会阻止代码的其他部分存储对singleton实例的引用,例如in viewDidLoad,因为如果这样做,令牌的更改可能会被忽略。

检查每个请求是一个更好的选择。您可以将检查代码放入子类的计算token属性中AFHTTPSessionManager,并使其具有检查NSUserDefaults值。

最后,你可以设立观察员NSUserDefaults,看在你需要的属性的变化,并自动进行更新。上面链接的答案解释了如何做到这一点。在您的情况下,设置观察者的代码将进入AFHTTPSessionManager子类的构造函数,而注销观察者的代码将进入dealloc(链接的答案在viewDidLoad和中显示了它们viewDidUnload)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Web API客户端单例与NSUserDefaults中的令牌

来自分类Dev

使用来自Web API中客户端应用程序的令牌的Azure AD

来自分类Dev

从Web API调用客户端

来自分类Dev

Web API - 对客户端的正确响应

来自分类Dev

无法使用http客户端获取asp.net Web API令牌

来自分类Dev

检索Web API C#的客户端标头中包含的用户令牌

来自分类Dev

无法使用http客户端获取asp.net Web API令牌

来自分类Dev

REstful Web服务中的客户端

来自分类Dev

JSON Web令牌,使其特定于客户端

来自分类Dev

春季安全5.1 - 获得令牌的客户端凭证流程与Web客户端

来自分类Dev

如何区分来自API合作伙伴的JSON Web令牌或来自我自己的前端客户端的令牌?

来自分类Dev

Web客户端Android

来自分类Dev

Web客户端Android

来自分类Dev

Web API REST客户端-在网站中(自动)认证API的最佳方法是什么

来自分类Dev

Web 客户端 API 和 Rest API

来自分类Dev

如何在ASP.NET Web API内存测试中添加客户端证书?

来自分类Dev

使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

来自分类Dev

从Web Api 2中的OData客户端调用补丁的正确方法是什么

来自分类Dev

如何在Azure云服务中为我的API和Web客户端设置SSL?

来自分类Dev

如何从Asp.net中的Web API访问客户端项目目录

来自分类Dev

如何在Azure云服务中为我的API和Web客户端设置SSL?

来自分类Dev

Outlook Mail加载项API在Web和Outlook客户端中的工作方式不同

来自分类Dev

需要使用从 Web api 获取的 DataTable 并将其显示在客户端的 aspx 页面中

来自分类Dev

Spring Restful Web API中的@RequestBody不接受来自请求为JSON的客户端的请求

来自分类Dev

如何验证来自MVC客户端的Web API调用

来自分类Dev

Web Api Security客户端和用户

来自分类Dev

从客户端应用程序调用Web API

来自分类Dev

从RestSharp客户端向Web API传递int列表

来自分类Dev

从WPF客户端访问安全的Web API

Related 相关文章

  1. 1

    Web API客户端单例与NSUserDefaults中的令牌

  2. 2

    使用来自Web API中客户端应用程序的令牌的Azure AD

  3. 3

    从Web API调用客户端

  4. 4

    Web API - 对客户端的正确响应

  5. 5

    无法使用http客户端获取asp.net Web API令牌

  6. 6

    检索Web API C#的客户端标头中包含的用户令牌

  7. 7

    无法使用http客户端获取asp.net Web API令牌

  8. 8

    REstful Web服务中的客户端

  9. 9

    JSON Web令牌,使其特定于客户端

  10. 10

    春季安全5.1 - 获得令牌的客户端凭证流程与Web客户端

  11. 11

    如何区分来自API合作伙伴的JSON Web令牌或来自我自己的前端客户端的令牌?

  12. 12

    Web客户端Android

  13. 13

    Web客户端Android

  14. 14

    Web API REST客户端-在网站中(自动)认证API的最佳方法是什么

  15. 15

    Web 客户端 API 和 Rest API

  16. 16

    如何在ASP.NET Web API内存测试中添加客户端证书?

  17. 17

    使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

  18. 18

    从Web Api 2中的OData客户端调用补丁的正确方法是什么

  19. 19

    如何在Azure云服务中为我的API和Web客户端设置SSL?

  20. 20

    如何从Asp.net中的Web API访问客户端项目目录

  21. 21

    如何在Azure云服务中为我的API和Web客户端设置SSL?

  22. 22

    Outlook Mail加载项API在Web和Outlook客户端中的工作方式不同

  23. 23

    需要使用从 Web api 获取的 DataTable 并将其显示在客户端的 aspx 页面中

  24. 24

    Spring Restful Web API中的@RequestBody不接受来自请求为JSON的客户端的请求

  25. 25

    如何验证来自MVC客户端的Web API调用

  26. 26

    Web Api Security客户端和用户

  27. 27

    从客户端应用程序调用Web API

  28. 28

    从RestSharp客户端向Web API传递int列表

  29. 29

    从WPF客户端访问安全的Web API

热门标签

归档