在 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) {}
我正在从 12 小时后过期的服务器获取访问令牌和刷新令牌(访问令牌),但我想通过在同一用户过期时传递刷新令牌来续订。怎么处理,求助。
我不熟悉 swift 但就令牌而言,我可以提供一些帮助。每当您请求 Offline_Scope 时,您都会获得访问令牌和刷新令牌,访问令牌在过期前的时间更短。所以每当访问令牌即将过期时,你需要传入刷新令牌并获取新的访问令牌和刷新令牌。
您可能希望有一个函数在每次访问令牌即将过期时执行此操作,这样用户就不必每次都登录。
进行网络调用时,只需检查令牌是否已过期,然后再进行调用。如果令牌已过期,请先刷新它。
如果您不想等待网络调用,并且想在应用程序启动后立即刷新,您可以在 AppDelegate 的以下两个功能之一中执行此操作(取决于您的用例):
1) 对于应用程序的每次新启动
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {}
2) 每次应用程序激活(从后台转到前台)
func applicationDidBecomeActive(application: UIApplication) {}