-
Notifications
You must be signed in to change notification settings - Fork 245
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
Implement support for SFSafariController on iOS #539
Conversation
Thanks a lot for this PR. It's gonna helps me a lot :) |
+1 to add this functionality to the repo |
Hey @MaikuB, is it possible that you could review my pr, many thanks! |
@john-slow Hi I'm aware of your PR and will do a proper review when I can as the work I do with open source projects is done so on spare time. In the mean time, you and others should be to reference your fork in your app as Flutter/Dart projects can references dependences via Git. At a glance, one I did spot is if you could revert the pubspec.yaml changes that you presumably did for development purposes. One thing I do wonder though if could risk causing apps to be rejected. Whilst the messaging shown using |
Hi @MaikuB, thanks for your prompt response and suggestions! My team has already submitted and published an app that utilizes Regarding the changes to |
Same PR is fine and you don't need to make changes to both pubspec files. I'll do that myself when it comes time to publishing and the changes at that point are version bumps. I might be wrong but have a suspicion you weren't aware that the plugin is setup to use melos. If so, read https://github.com/MaikuB/flutter_appauth/blob/master/CONTRIBUTING.md#environment-setup. Another thing that's useful to note for future reference that you may also want to do now is that it's better to create a same branch for changes you intend to make. In other words, it's better that this PR came from a different branch. This way, your fork's master branch is consistent with the master branch of the repository you fork from. This helps avoid running into difficulties if the original repo pushed changes to master Edit: one thing I forgot to say, is thanks a lot for submitting the PR! |
3a6cf39
to
0f886c0
Compare
You're welcome! I'm happy to help. I reverted my changes to the |
flutter_appauth_platform_interface/lib/src/external_agent_type.dart
Outdated
Show resolved
Hide resolved
e3555fa
to
049049c
Compare
Thanks again for this. You may see me do some minor cleanup/changes that I figured would be easier if I do to avoid more back and forth :) Not related to the PR but should you do more PRs, I'd suggest avoiding the use of force push as well. A couple of reasons why I suggest this is force pushes makes its harder to see the differences and it results in conflicts when someone has cloned your fork/branch before and needs to get the latest changes |
There's now a 8.0.0 prerelease with these changes. I had renamed the enum, docs and related properties so that it (IMO) aligns more with what is done by the plugin and/or the AppAuth SDK |
I was using the fork while doing some tests, I had a little surprise when I wanted to rebuild my test 🤣 |
Thanks a lot for this PR. It really saves my hustle, it fixes our bottleneck |
This fixes this issue:
#538
Implemented support for SFSafariController on iOS so that user can choose between
ASWebAuthenticationSession
,EphemeralSession
andSFSafariViewController
.Reason:
ASWebAuthenticationSession
is having a displaying bug on iOS which would show "sign in" instead of "sign out" when user logs out.However,
EphemeralSession
is not fulfilling our requirement because it is using a private browser which doesn't save the cache. So user has to input the password every time when they login.SFSafariViewController
would be the better choice between these three because it doesn't show the alert and keep the cache at the same time.Additional:
To implement these changes, I had to modify the
flutter_appauth_platform_interface
. The changes are in the first commit. They would need to be published first on pub.dev. In the meantime, I access the change directly by referencing the path instead of the version.