llfbandit / app_links

Android App Links, Deep Links, iOs Universal Links and Custom URL schemes handler for Flutter.
https://pub.dev/packages/app_links
Apache License 2.0
176 stars 68 forks source link

Conflict with flutter_appauth Blocking Custom URL Scheme Handling. #88

Closed Triose-lcy closed 5 months ago

Triose-lcy commented 5 months ago

Describe the bug

This may not necessary be a bug for app_links (actually it should be a problem for flutter_appauth), but I hope developers using this library notice this problem. I'm encountering an issue in my Flutter application where the flutter_appauth plugin seems to interfere with or block the handling of custom URL schemes that are opened in the browser. This is particularly noticeable when trying to implement deep link handling alongside the flutter_appauth OAuth flow. A similar problem: https://github.com/supabase/supabase-flutter/issues/554

Steps to Reproduce:

Implement flutter_appauth for OAuth 2.0 authorization. Set up a custom URL scheme for deep linking in the application. Attempt to open a deep link (not related to OAuth) in the browser with the custom URL scheme.

Expected Behavior:

The app should handle the custom URL scheme correctly and process the deep link as per the implemented logic.

Actual Behavior:

The app opens with the custom URL scheme, but the deep link is not processed or passed to the app as expected. It seems that the presence of flutter_appauth is blocking or interfering with the handling of these links.

Does it related to

[ ] App Links (Android)
[ ] Deep Links (Android)
[ ] Universal Links (iOS)
[ ] or Custom URL schemes? (iOS)

Does the example project work? [ ] Irrelevant here

Did you fully read the instructions for the targeted platform before submitting this issue?

Uploaded your files to webserver, HTTPS, direct connection, scheme pattern setup, ...

[ ] Yes

Triose-lcy commented 5 months ago

Feel free to close this issue.

llfbandit commented 5 months ago

I suppose you're on an Apple platform. If so, there's manual solution available in the readme for such cases.

Unfortunately, there's nothing we can do from plugin level to app level here.