Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: init SwiftUI library for FirebaseAuthSwiftUI #1237

Draft
wants to merge 122 commits into
base: main
Choose a base branch
from

Conversation

russellwheatley
Copy link
Member

@russellwheatley russellwheatley commented Feb 18, 2025

Work in progress

Copy link
Contributor

@morganchen12 morganchen12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good. Had one architecture question for consideration.

func onCredentialReceived(_ credential: AuthCredential)
func onCredentialLinked(_ credential: AuthCredential)
// func onMFARequired(_ resolver: MultiFactorResolver)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we're targeting this toward SwiftUI users, what do you think of adding a @StateObject that tracks the auth state so consumers can use it directly instead of having to set up their own wrapper? This could be the auth provider itself or a separate object that's managed by the auth provider, or a default implementation of the AuthListenerProtocol.

Copy link
Member Author

@russellwheatley russellwheatley Mar 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @morganchen12 - sorry for the lates response, I was on holiday last week, and this week I wanted something more concrete to show you so we can agree on top level API design/flow. I still need to refactor a few things, but I'm hoping by the end of the day tomorrow I can provide how it works and see if you think it is reasonable. Also - agree on the point of having some form of a state object the user can consume for auth events 👍

@russellwheatley
Copy link
Member Author

Hey @morganchen12 & @peterfriese - I made some changes based heavily on what Peter's repo example (much appreciated 🙏 ). Please disregard styling for now until we have some designs (as agreed in previous meeting).

I was wondering about EmailPasswordView whether it is worth separating Sign-In, Login & Password recovery into their own Views and conditionally render based on observable property for AuthenticationFlow? I guess this would allow the user to drop them in if they wish.

I think we also need have some form of initialisation of config for localisation, auth instance & autoAnonymousLogin so any thoughts on that would be appreciated, possibly on the AuthEnvironment observable instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants