Skip to content

Instantly share code, notes, and snippets.

@nderkach
Last active December 7, 2017 16:15
Show Gist options
  • Save nderkach/e9e1f12c6a6d2a04b521318b2badec3e to your computer and use it in GitHub Desktop.
Save nderkach/e9e1f12c6a6d2a04b521318b2badec3e to your computer and use it in GitHub Desktop.
private var refreshTimer: Timer?
public private(set) var tokenExpiryDate: Date? {
didSet {
guard let tokenExpiryDate = tokenExpiryDate else { return }
let timeToExpire = tokenExpiryDate.timeIntervalSinceNow
// try to refresh JWT token before the expiration time
let timeToRefresh = Date(timeIntervalSinceNow: timeToExpire * 0.9)
refreshTimer = Timer.scheduledTimer(withTimeInterval: timeToRefresh.timeIntervalSinceNow, repeats: false) { _ in
AwesomeAPI.login("test", "test", onSuccess: {}, onFailure: { _ in })
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment