У меня проблемы с использованием OAuthSwift с API Dexcom (https://developer.dexcom.com/authentication) для получения токена и последующего запроса.
Вот код, который я сейчас использую для авторизации пользователя с помощью сервиса, нажав кнопку, которая ссылается на вход и перенаправляет обратно.
import UIKit
import OAuthSwift
class ViewController: UIViewController {
// UI Elements
@IBOutlet weak var resultLabel: UILabel!
@IBAction func authorizeTapped(_ sender: Any) {
authorizeDexcom()
}
var oauthswift: OAuth2Swift = OAuth2Swift(
consumerKey: "***",
consumerSecret: "***",
authorizeUrl: "https://sandbox-api.dexcom.com/v2/oauth2/login?",
accessTokenUrl: "https://sandbox-api.dexcom.com/v2/oauth2/token",
responseType: "code"
)
// Dexcom Test Functions
func authorizeDexcom() {
oauthswift.allowMissingStateCheck = true
oauthswift.authorizeURLHandler = SafariURLHandler(viewController: self, oauthSwift: oauthswift)
guard let rdURI = URL(string: "***") else {
return
}
oauthswift.authorize(withCallbackURL: rdURI,
scope: "offline_access",
state: "",
success: { credential, response, parameters in
print("SUCCESS")
print(credential.oauthToken)
}, failure: { error in
print(error.localizedDescription)
}
)
}
Может кто-нибудь направить меня к тому, каким должен быть мой следующий шаг или как я должен делать запросы здесь? Когда я запускаю свое приложение и нажимаю на кнопку, которая вызывает функцию авторизации, я получаю то, что, как кажется, выводится на консоль токеном, но сопровождается несколькими строками «получить выходные кадры не удалось, состояние 8196», что приводит меня к считаю, что процесс авторизации не заканчивается правильно.
Я просмотрел следующие ресурсы, но пока не нашел ничего полезного.
Спасибо за любую помощь.