在 Swift 中刷新 OAuth 令牌

Refresh OAuth Token in Swift

我正在从 12 小时后过期的服务器获取访问令牌和刷新令牌(访问令牌),但我想通过在同一用户过期时传递刷新令牌来续订。怎么处理,求助。

我不熟悉 swift 但就令牌而言,我可以提供一些帮助。每当您请求 Offline_Scope 时,您都会获得访问令牌和刷新令牌,访问令牌在过期前的时间更短。所以每当访问令牌即将过期时,你需要传入刷新令牌并获取新的访问令牌和刷新令牌。

您可能希望有一个函数在每次访问令牌即将过期时执行此操作,这样用户就不必每次都登录。

进行网络调用时,只需检查令牌是否已过期,然后再进行调用。如果令牌已过期,请先刷新它。

如果您不想等待网络调用,并且想在应用程序启动后立即刷新,您可以在 AppDelegate 的以下两个功能之一中执行此操作(取决于您的用例):

1) 对于应用程序的每次新启动

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {}

2) 每次应用程序激活(从后台转到前台)

func applicationDidBecomeActive(application: UIApplication) {}