2015-11-06 19 views
8

Tôi biết đây là một câu hỏi hơi mở/mơ hồ, nhưng bất kỳ trợ giúp nào về cách tiến hành sẽ được đánh giá cao.Quản lý phiên bằng cách sử dụng Alamofire

Cách tốt nhất để triển khai quản lý phiên sử dụng Alamofire là gì.

Trường hợp sử dụng: Tôi đang triển khai ứng dụng iOS yêu cầu xác thực người dùng (yêu cầu người dùng đăng nhập) cho hầu hết các tính năng. Cách tốt nhất để thực hiện điều đó bằng cách sử dụng alamofire.

Tôi có thể nghĩ như sau:

[1] Thực hiện yêu cầu đăng nhập. [2] Nhận cookie phiên. [3] Lưu cookie và sử dụng nó cho các yêu cầu tiếp theo.

Cách tốt nhất để làm [3] tức là lưu cookie cho các yêu cầu tiếp theo.

Ngoài ra, cách tốt nhất để thực hiện [1] khi người dùng là gì, trong khi điều hướng ứng dụng, tình cờ/nhấp chuột vào đối tượng địa lý yêu cầu xác thực người dùng.

Trả lời

1

Theo tôi, tôi đã sử dụng cùng một thể hiện của quản lý cho tất cả các yêu cầu:

let cfg = NSURLSessionConfiguration.defaultSessionConfiguration() 
let cooks = NSHTTPCookieStorage.sharedHTTPCookieStorage() 
var manager: Manager 

Với phản ứng đăng nhập, phát triển API nên Set-Cookie vào tiêu đề. Và bạn chỉ cần gọi các yêu cầu khác bình thường.

Nếu bạn cần phải làm việc với thẻ đăng nhập một lần, bạn có thể sử dụng mã này để đặt nó trong phần đầu bài của yêu cầu

var authToken : String? { 
    didSet { 
     if let _ = authToken { 
      self.cfg.HTTPAdditionalHeaders = ["auth_token": authToken!] 
      self.manager = Manager(configuration: cfg) 
     }else{ 
      self.cfg.HTTPAdditionalHeaders?.removeValueForKey("auth_token") 
      self.manager = Manager(configuration: cfg) 
     } 
    } 
} 

Nó chỉ là quan điểm của tôi. Có nhiều cách để làm tốt hơn. Cảm ơn.

+0

Cảm ơn! Điều này rất hữu ích. – user462455

Các vấn đề liên quan