Я использую API Fitbit для авторизации моего приложения, и оно работает нормально, однако в документации OAuthSwift я не вижу способа установить дату истечения срока действия сгенерированного токена, даже если у API Fitbit есть способ сделать это и Поток неявного предоставления позволяет установить срок действия до года.
Вот мой конфиг для oAuthSwift:
let config = OAuth2Swift(
consumerKey: Constants.FitbitApi.consumerKey,
consumerSecret: Constants.FitbitApi.consumerSecret,
authorizeUrl: Constants.FitbitApi.authorizeUrl,
accessTokenUrl: Constants.FitbitApi.accessTokenUrl,
responseType: Constants.FitbitApi.responseType
)
В соответствии с документацией это те параметры, которые он принимает, но не параметр срока годности. И вот мой метод авторизации:
@IBAction func doOAuthFitbit(sender: AnyObject) {
let oauthswift = FitbitOAuth.sharedInstance.config
oauthswift.accessTokenBasicAuthentification = true
FitbitOAuth.sharedInstance.oauthswift = oauthswift
let state = generateState(withLength: 20)
oauthswift.authorizeURLHandler = SafariURLHandler(viewController: self, oauthSwift: oauthswift)
guard let callbackURL = URL(string: Constants.FitbitApi.callBackUrl) else { return }
let _ = oauthswift.authorize(withCallbackURL: callbackURL, scope: "weight", state: state) { result in
switch result {
case .success(let (credential, response, parameters)):
if let resp = response {
print(resp)
}
print(parameters)
print(credential.oauthToken)
FitbitOAuth.sharedInstance.saveOAuthInStorage()
self.authorizationLabel.text = "Authorized"
case .failure(let error):
print(error.localizedDescription)
self.authorizationLabel.text = "Not Authorized"
}
}
}
Как уже отмечалось, это работает нормально, однако токен всегда имеет дату истечения срока действия 277895, и я хотел бы установить его на 30 дней или год.
Заранее спасибо.