Не могу отправить заголовок авторизации с моим запросом - PullRequest
0 голосов
/ 04 января 2019

У меня есть конечная точка запроса для sylius API , когда я устанавливаю заголовок типа контента с помощью application / json и заголовок Authorization с точным значением Bearer SampleToken через почтальона, он прекрасно отвечает предполагаемым ответом, но когда Я пытаюсь установить заголовок авторизации запроса через URLRequest, он дает мне ответ

{
"error" = "access_denied";
"error_description" = "OAuth2 authentication required";

}

когда я отслеживаю запрос через charles, я заметил, что заголовок Authorization удаляется. Я пробовал много разных способов установить заголовок авторизации, но безуспешно.

func getTotalProducts(page:String){
let urlPath="https://demo.sylius.com/api/v2/taxons"
var request = URLRequest(url:  NSURL(string: urlPath)! as URL)
request.httpMethod = "GET"

request.setValue("Bearer SampleToken", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

Alamofire.request(request)
    .responseJSON { response in
        switch(response.result){
        case .success(let value):
            print(value)
            break
        case .failure(let error):
            print("something went wrong \(error.localizedDescription)")
        }
    }.session.finishTasksAndInvalidate()

}

Оригинальный запрос почтальона:

1 Ответ

0 голосов
/ 04 января 2019

Поскольку вы используете Alamofire, почему бы не упростить вещи?

let url = "https://demo.sylius.com/api/v2/taxons"

    let headers: HTTPHeaders = [
        "Authorization": "Bearer SampleToken",
        "Accept": "application/json",
        "Content-Type": "application/json"
    ]

    Alamofire.request(url, method: .get, encoding: JSONEncoding.default, headers: headers)
        .responseJSON { response in
            switch(response.result){
            case .success(let value):
                print(value)
                break
            case .failure(let error):
                print("something went wrong \(error.localizedDescription)")
            }
        }.session.finishTasksAndInvalidate()
...