Пример Swift OAuth2 БЕЗ сторонних библиотек

Я проводил несколько тестов, подключаясь к службе OAuth с помощью Postman. Все отлично работает, и я вижу ответ JSON. Однако код, который генерирует Postman, не содержит ни одного токена.

Как бы я сделал это в Swift? Я также не хочу использовать сторонние библиотеки, так как хочу научиться это делать.

Вот код, который генерирует Postman. Нет ничего о том, как сгенерировать токен.

import Foundation

let headers = [
  "cache-control": "no-cache",
  "postman-token": "31761212-1492-2111-aa2d-da54b8f1983b"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://xxxdev.service-now.com/api/now/table/sc_request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Спасибо


person Paul S.    schedule 03.11.2017    source источник
comment
Токен почтальона не имеет ничего общего с OAuth. См. stackoverflow.com/questions/36883046/. Получение токена OAuth потребует от вас реализации протокола OAuth, что не является тривиальным, поэтому вы обычно используете стороннюю структуру.   -  person Paulw11    schedule 03.11.2017