fluttercommunity / fluttercommunity/flutter_webview_plugin

Listening for redirect

Open
#218 1 comment 2 reactions 0 assignees View on GitHub
Requires Review
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.