溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS中Cookie驗證登錄狀態(tài)的示例分析

發(fā)布時間:2021-08-04 11:22:19 來源:億速云 閱讀:117 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關iOS中Cookie驗證登錄狀態(tài)的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1、第一次進入應用,登錄獲取Cookie,此時如果用到的是AFN去獲取接口數(shù)據(jù),Cookie已經(jīng)寫入了,所以無需處理,每次請求的時候,會自動將該cookie傳給后臺去驗證

2、將Cookie緩存到本地:            

 NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject: cookiesData forKey:@"Cookie"];
        [defaults synchronize];

3、當?shù)诙芜M入應用的時候,先判斷NSUserDefault是否有緩存的Cookie,如果有,需要將cookie寫入,然后進入應用             

 NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"]];
        NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        for (NSHTTPCookie * cookie in cookies){
          [cookieStorage setCookie: cookie];
        }

4、當用戶選擇退出登錄,需要清除緩存中的cookie,同時要將NSUserDefault中的Cookie刪除

(1)清除請求頭中的Cookie:            

 NSHTTPCookieStorage *manager = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSArray *cookieStorage = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
        for (NSHTTPCookie *cookie in cookieStorage) {
          [manager deleteCookie:cookie];
        }

(2)清除NSUserDefault中的Cookie            

 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"];
        [defaults synchronize];

 注意:關于Cookie還有有效期,就看后臺怎么定義,前端只要判斷是否過了有效期,如果過了有效期,如果過了有效期,就需要用戶重新登錄,反之則不需要。

感謝各位的閱讀!關于“iOS中Cookie驗證登錄狀態(tài)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI