Closed sachinexec closed 1 year ago
Not able to help you with this as I wrote this library as a wrapper to native SDKs maintained by others. This means I don't the full ins and outs of it and will not necessarily get to use all the various features on apps I work on. When I initially published this, it wasn't even for an app that needed it even, rather I saw that there was a need for this so published it so others can make use and help contribute to it. If you need help on this then you'll need to ask online in communities like Slack, Stack Overflow etc to see if anyone can help. There may be those on the GitHub repos for AppAuth iOS who have posted how they got it to work in the scenario like yours as well
I was facing the same issue as you and fixed that. I found a solution by adding an extra step for the redirect mechanism inside the native implementation. I created a fork and overridden that inside my flutter project.
Great, thanks for sharing.
I used the AppAuth-iOS
package in Swift for the iOS platform as I was unable to make it work with Flutter. The Flutter package flutter_appauth
is still there for the Android platform. Then in AppDelegate
, listened for the universal link and resumed the auth flow with that universal link. This worked for me.
@kamilzajacdeviniti how do you used your fork? I see your redirect fix foiund its way into AppAuth-iOS but they did not release it yet.
@sachinexec what did you do in the AppDelegate to fix the problem?
@anton-brass everything you need to do is to override the entry inside the Podfile (inside iOS folder) like that:
target 'Runner' do
use_frameworks!
use_modular_headers!
pod 'AppAuth', :git => 'https://github.com/kamilzajacdeviniti/AppAuth-iOS.git', :commit => 'ee9d0ec6fa368a1179e9382afc0153085bef4e28'
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end
Current Behaviour: When started the auth process using the method
authorizeAndExchangeCode
, I see a popup in-app browser. After filling in the user credentials, it authenticates and asks me to authorize, once I clicked onApprove
to authorize, then nothing happens. The popup remains open.What I already did? I have set up the
Universal Link
in iOS and already verified that myUniversal Link
is set up properly.Moreover, after clicking on the
Approve
button to authorize, I am able to capture the redirect URL fromuserActivity NSUserActivity
in theAppDelegate
. Printed the URL and verified that it contained thecode
andstate
as query parameters.Also tested using a custom scheme like
my.domain.name://auth-callback
, and it works just fine. But that is not an option available to me as I am using the Google Identity Platform with Firebase Auth. When registering my auth provider on the Google Identity Platform, it generated the redirect URL by itself and is not editable. The redirect URL starts withhttps://
and so I am bound to useUniversal Link
in iOS andApp Link
in Android. On Android, it is working fine after setting up theApp Link
.As the
Universal Link
is set up correctly (as I am able to capture redirect URL in theAppDelegate
) and also verified that the auth is working fine with the custom scheme that means the only possible issue here is the response (redirect URL) is not able to restore on the current auth session when using Universal Link.Please help, I am stuck on this issue for 4-5 days.