OAuthSwift: Как установить дату истечения срока действия токена для OAuth 2.0 с неявным потоком грантов? - PullRequest
1 голос
/ 24 января 2020

Я использую 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 дней или год.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...