如何与需要身份验证的服务器通信?

时间:2016-05-16 17:01:54

标签: ios swift

目前,我在iOS钥匙串中存储了用于与服务器(通过Alamofire)通信的用户名和密码。但是,在尝试检索这些项目时,钥匙串会立即返回nil。因此,将用户名和密码存储在钥匙串中并不是一个可靠的选择。有没有更好的方式与服务器通信?可能是会话cookie还是什么?

1 个答案:

答案 0 :(得分:0)

您是否可以自由修改服务器端代码?如果是这样,您可以查看JSON Web令牌:https://jwt.io/

如果没有,我们可以使用NSUserDefaults(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/)代替钥匙串。但请记住,这是存储用户首选项的界面,将密码存储在其中是不安全的。这就是你应该考虑使用令牌的原因。

请参阅此相关问题:NSUserDefaults or keychain is better to save username and password in iPhone app