fluttercommunity / fluttercommunity/flutter_webview_plugin
Listening for redirect
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 938
- PR merge metrics
- No merged PRs in 30d
Description
Using WebView Plugin to launch facebook oauth connection flow. It seems user has to be logged-in first (see image) to display facebook oauth permission dialog.
One option will be to open facebook login screen then redirect back to app (on successful login) before launching oauth connection flow.
For this to work I need to be able to listen for a redirect from fb's login screen to fb's home screen (after login) at which point, return back to the app and launch connection flow. It seems plugin is not able to detect the redirect - plugin.onUrlChanged() is not triggered after authentication (redirect from login screen to home screen).
new FlatButton(
child: const Text("Ok"),
onPressed: () {
launchWebView();
}),
void launchWebView(){
flutterWebviewPlugin.launch(
'https://m.facebook.com/',
withJavascript: true,
withLocalStorage: true,
);
//Not triggered
flutterWebviewPlugin.onUrlChanged.listen((String changed) {
if(changed.contains('https://m.facebook.com/home.php')){
setState(() {
//reload webview with connection flow url
});
}
});
}
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/QTeLw.png
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the Facebook login flow from launchWebView() with flutterWebviewPlugin.launch(), then trace the plugin.onUrlChanged listener during the redirect from login to home.php. Done means the redirect is detected after authentication and the app can return to launch the connection flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, flutter
- Domain
- authentication, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100