google / GoogleSignIn-iOS

Enables iOS and macOS apps to sign in with Google.
https://developers.google.com/identity/sign-in/ios
Apache License 2.0
455 stars 181 forks source link

Migrate current VwG refresh logic to `GIDGoogleUser`. #441

Open brnnmrls opened 1 month ago

brnnmrls commented 1 month ago

GSI provides a mechanism for developers to restore previous sign-ins. The flow attempts to use authorizations stored on the device and refresh relevant tokens if they're expired. The sign-in flow uses GIDGoogleUser for token refreshing. Ideally, the VwG flow wants to use GIDGoogleUser for token refreshing to make it easier on developers since GSI currently attaches authorization state to the user vended by the library and saves the necessary tokens so that the authorization state can be restored between application runs.

To save some time an alternative temporary solution was implemented by handing back to requesting parties an expiration date, access and refresh tokens, and exposing an API allowing developers refresh their tokens.