iOS 利用token保持登陸狀態

來源:互聯網
上載者:User

項目裡,需要在客戶登陸後保持登陸狀態。使用的不是儲存使用者名稱和密碼,每次去類比登陸。
而是登入時,登陸成功,從伺服器接收token,token是伺服器產生的一個字串,唯一標識一個使用者,並且會在一段時間後銷毀,所以我們很久不登入APP,會要求重新登入。

利用一個工具類,進行token的儲存、刪除和讀取。登陸成功進行儲存、下一次開啟APP進行讀取、退出進行刪除。

如果,有refreshtoken,可以進行跟新,就不用再次登入。

代碼如下:

#import "GCTokenManager.h"NSString *const TOKEN_KEY = @"token";@implementation GCTokenManager// 儲存token+(void)saveToken:(GCToken *)token{    NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];    NSData *tokenData = [NSKeyedArchiver archivedDataWithRootObject:token];    [userDefaults setObject:tokenData forKey:TOKEN_KEY];    [userDefaults synchronize];}// 讀取token+(GCToken *)getToken{    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    NSData *tokenData = [userDefaults objectForKey:TOKEN_KEY];    GCToken *token = [NSKeyedUnarchiver unarchiveObjectWithData:tokenData];    [userDefaults synchronize];    return token;}// 清空token+(void)cleanToken{    NSUserDefaults *UserLoginState = [NSUserDefaults standardUserDefaults];    [UserLoginState removeObjectForKey:TOKEN_KEY];    [UserLoginState synchronize];}// 跟新token+(GCToken *)refreshToken{    return nil;}

這裡的GCToken 是伺服器端返回的token的模型,要根據自己項目中返回的JSON自訂。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.