![](/img/trans.png)
[英]Swift Alamofire file upload with signed request: how to send authorization headers?
[英]Swift 2.0 with Alamofire: How to send http headers with X-WSSE Authorization?
這是我的代碼:
> let uuid: CFUUIDRef = CFUUIDCreate(nil)
let nonce: CFStringRef = CFUUIDCreateString(nil, uuid)
let dateFormatter: NSDateFormatter = NSDateFormatter()
let timestamp = NSDate()
let secretKey = "DAqE6lBUgzxJRuR287GR"
let username = "us_demo003"
let formattedDate: String = dateFormatter.stringFromDate(timestamp)
let text = String((nonce as String)+formattedDate+secretKey)
let sha1 = text.sha1()
let passwordDigest = sha1.toBase64()
let headers = ["Username":username,"PasswordDigest": passwordDigest, "Nonce":(nonce as String), "Created":formattedDate]
let theUrlString = "url here"
manager.request(.GET, theUrlString, parameters: nil, encoding: ParameterEncoding.URL, headers: theHeaders).responseJSON { (result) -> Void in
print("BEGIN")
print("\n\n\n\n\n\n\n\nBEGIN\n\(result)\n\n\n\n\n\nEND")
print("STOP")
}
我得到的結果如下:
SUCCESS: {
data = "";
replyCode = 1;
replyText = "No Authentication Header";
}
我如何使用Alamofire發送身份驗證標頭? 我已經檢查了github上的文檔。 我做錯了什么。
謝謝
而是要創建Authorization
標頭,其中Authorization
是詞典密鑰,而WWSE profile=\\"username_token\\"
是值。 然后您還需要將X-WSSE
標頭密鑰設置為UsernameToken Username="admin", PasswordDigest="buctlzbeVflrVCoEfTKB1mkltCI=", Nonce="ZmMzZDg4YzMzYzRmYjMxNQ==", Created="2014-03-22T15:24:49+00:00"
。
let token = "some generated token"
let headers = [
"Authorization": "WWSE profile=\"\(token)\""
"X-WSSE": "UsernameToken Username=\"admin\", PasswordDigest=\"buctlzbeVflrVCoEfTKB1mkltCI=\", Nonce=\"ZmMzZDg4YzMzYzRmYjMxNQ==\", Created=\"2014-03-22T15:24:49+00:00\""
]
可以在此處找到有關WSSE auth的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.