Токен-носитель загрузки Alamofire 5.0+ MultipartFormData - PullRequest
0 голосов
/ 13 июля 2020

У меня есть все необходимое для работы с загрузкой данных многостраничной формы alamofire, но добавлен токен-носитель. Мы используем Oauth 2.0, и нашим файлам нужен токен для аутентификации в наших системах. Я только нашел способ передать имя пользователя и пароль, который не работает в нашей текущей системе. Есть ли способ передать токен на предъявителя в php?

   AF.upload(multipartFormData: { multipartFormData in

    for (key, value) in parameters {
        multipartFormData.append(value.data(using: .utf8)!, withName: key)
    }

if let jpegData = image.jpegData(compressionQuality: 1.0) {
        multipartFormData.append(jpegData, withName: "file", fileName: "image", mimeType: "image/jpeg")
    }
}, to: "https:website" )
.uploadProgress{ progress in
//print("Upload Progress: \(self.progress.fractionCompleted)")
}
.response { response in
if response.response?.statusCode == 200 {
    print("OK. Done")
    print((NSString(data: response.data!, encoding: 
String.Encoding.utf8.rawValue)! as String))
}else if response.response?.statusCode == 406{
    print("error")
    DispatchQueue.main.sync{
        let alert = UIAlertController(title: "Error", message: 
"Person has not been set up.", preferredStyle: .alert)

        alert.addAction(UIAlertAction(title: "close", style: .default, handler: { action in
             DispatchQueue.main.async{
                self.progressUiView.isHidden = true
                self.dismiss(animated: true, completion: nil)
            }
        }))

        self.present(alert, animated: true)
    }
}else{
    print(response.response?.statusCode)
}
}

1 Ответ

0 голосов
/ 13 июля 2020

Вам необходимо добавить токен авторизации к headers. Вот как:

let token = "your_token_here"
AF.upload(multipartFormData: { multipartFormData in
    //...
}, to: "https:website", headers: ["Authorization": "Bearer \(token)"])
    .response { response in
    //...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...