如何将此oAuth curl请求转换为swift语法。
curl -X POST -vu clientapp:123456 http://localhost:8080/oauth/token -H "Accept: application/json" -d "password=spring&username=roy&grant_type=password&scope=read%20write&client_secret=123456&client_id=clientapp"
答案 0 :(得分:3)
我能够通过编写基本64字符串中的用户凭证来实现此目的。
let parameters = ["password" : "spring", "username" : "roy", "grant_type" : "password",
"scope" : "read write", "client_secret" : "123456", "client_id" : "clientapp"]
let str = "clientapp:123456"
let utf8str = str.dataUsingEncoding(NSUTF8StringEncoding)
let basic_auth_token = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
let headers = ["Accept" : "application/json", "Authorization" :"Basic "+basic_auth_token!]
Alamofire.request(.POST, "http://localhost:8080/oauth/token", parameters: parameters, encoding:.URL, headers: headers)
.responseJSON { response in
print("Response String: \(response.result.value)")
}