gpt4 book ai didi

ios - 我如何在 IOS/Swift 上保留登录 token

转载 作者:可可西里 更新时间:2023-11-01 00:59:31 25 4
gpt4 key购买 nike

我使用 Alamofire 在 IOS/Swift 端执行 HTTP 方法,而在服务器端我使用 node.js/Express 使用基于 token 的身份验证。

场景是这样的,用户点击登录,然后它会使用 Alamofire 调用/auth/login url 来执行逻辑,然后服务器将用 token 响应,然后它将用户导航到主屏幕。一切顺利。

我使用钥匙串(keychain)来存储 token 。 https://github.com/kishikawakatsumi/KeychainAccess

Alamofire.request(.POST, "https://specialapp.herokuapp.com/auth/login", parameters: parameters, encoding: .JSON)
.responseJSON { response in
if let httpError = response.result.error {
let statusCode = httpError.code
print(statusCode)
} else {
if let value = response.result.value {
let json = JSON(value)
let statusCode = (response.response?.statusCode)!
if statusCode == 401 {
print(json)
} else {
print(json["token"])
let token = json["token"]
self.keychain["token"] = String(token)
self.performSegueWithIdentifier("Main", sender: sender)
}
}


}

}

但真正的问题在于我关闭应用程序,然后再次重新打开它。我想要实现的是每当用户登录时,关闭应用程序并再次重新打开它将使用户返回主屏幕。

我将如何实现?

最佳答案

在 viewdidload 方法中,您可以像这样检查您的 token 。如果未设置,则表示仍未完成登录。

if let token =   NSUserDefaults.standardUserDefaults().valueForKey(KToken) as? NSString {
// Token stored in NSUserDefaults.
} else {
// Have to login
}

然后像这样在 NSUserDefault 中存储值。

NSUserDefaults.standardUserDefaults().setValue(email, forKey: KToken)

NSUserDefaults.standardUserDefaults().synchronize()

关于ios - 我如何在 IOS/Swift 上保留登录 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37313358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com