swift Https單向繫結
網上找了那麼多,基本都是來源於同一出處的,正所謂天下文章一大抄,你抄我來我抄你!
- 基於
Alamofire
的https單向認證,不需要匯入證書
func authentication() {
let manager = Alamofire.SessionManager.default
manager.delegate.sessionDidReceiveChallenge = { session, challenge in
var disposition: URLSession.AuthChallengeDisposition = .performDefaultHandling
var credential: URLCredential?
if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust {
disposition = URLSession.AuthChallengeDisposition.useCredential
credential = URLCredential(trust: challenge.protectionSpace.serverTrust!)
} else {
if challenge.previousFailureCount > 0 {
disposition = .cancelAuthenticationChallenge
} else {
credential = manager.session.configuration.urlCredentialStorage?.defaultCredential(for: challenge.protectionSpace)
if credential != nil {
disposition = .useCredential
}
}
}
return (disposition, credential)
}
}
- 如果專案使用了
Moya+Alamofire
的網路請求模式,如果網路請求不會走上面的認證方法,
那麼有可能是Moya
的provider
預設的SessionManager
和上面方法中指定的manager
不一致,
需要重新為provider
指定manager
let provider = MoyaProvider<JMTAPIManager>(manager: Alamofire.SessionManager.default/*, plugins: [NetworkLoggerPlugin(verbose: true)]*/)
相關文章
- 從單向到雙向資料繫結
- angular雙向繫結簡單實現Angular
- Vue 中雙向繫結 Vs 單向資料流Vue
- vue 雙向繫結(v-model 雙向繫結、.sync 雙向繫結、.sync 傳物件)Vue物件
- 簡單實現一個雙向繫結
- mvvm-simple雙向繫結簡單實現MVVM
- 簡單易懂的雙向資料繫結解讀
- JavaScript實現簡單的雙向資料繫結JavaScript
- Vue雙向繫結初探Vue
- vue雙向繫結原理Vue
- 手動簡單實現Vue雙向資料繫結Vue
- vue雙向繫結的原理及實現雙向繫結MVVM原始碼分析VueMVVM原始碼
- vue雙向繫結盲區Vue
- JS雙向資料繫結JS
- Vue雙向繫結實現Vue
- 揭密 Vue 的雙向繫結Vue
- javascript中的雙向繫結JavaScript
- Vue、MVVM、MVC、雙向繫結VueMVVMMVC
- HTTPS連線建立過程(單向&雙向)HTTP
- Vue雙向繫結原理,教你一步一步實現雙向繫結Vue
- python-物件導向(繫結方法與非繫結方法)Python物件
- javascript實現資料的雙向繫結(手動繫結)JavaScript
- Vue資料雙向繫結原理Vue
- vue生命週期、雙向繫結Vue
- vue雙向資料繫結原理Vue
- vue實現prop雙向繫結Vue
- vue實踐:元件雙向繫結Vue元件
- angular雙向繫結—(按鈕+下拉)Angular
- 原生js雙向資料繫結JS
- Databinding 雙向繫結詳解
- [JS] 資料雙向繫結原理JS
- Flex4中雙向繫結Flex
- vue v-model 雙向繫結Vue
- IOC容器的繫結解析過程(繫結單例)單例
- 簡要實現vue雙向繫結Vue
- vue-原始碼剖析-雙向繫結Vue原始碼
- 雙向資料繫結實現原理
- 雙向繫結的極簡實現