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

Clean up callback flow for sign-in and verify flow. #427

Open brnnmrls opened 1 month ago

brnnmrls commented 1 month ago

Issue found in: https://github.com/google/GoogleSignIn-iOS/pull/414#discussion_r1607303702

The current sign-in and verify flow are brittle when processing the authorization response. The current flow will depend on an [authFlow wait] to ensure a token request is made before moving forward. Doing so makes the code harder to understand and easy to break. A way to improve this is by adding completion callbacks to ensure a tokenRequest is made before returning an instance of GIDAuthFlow.