Токен входа в систему Facebook + флаттер вручную пуст - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь выполнить ручную регистрацию в Facebook в моем приложении, потому что пакет входа в систему fb больше не поддерживается.

Future<void> _loginWithFacebook() async {
  Map<String, dynamic> result = await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => CustomWebView(
        title: 'Facebook Login',
        selectedUrl:
            'https://www.facebook.com/dialog/oauth?client_id=$your_cliend_id&redirect_uri=$your_redirect_url&response_type=token&scope=email,public_profile,user_friends',
      ),
      maintainState: true
    ),
  );

  if (result != null && result["authToken"] != null) {
    print("IT WORKED, THIS IS THE RESULT $result");
  } else {
    print("THERE WAS AN ERROR $result");
  }
}

class CustomWebView extends StatelessWidget {
  final String title;
  final String selectedUrl;

  final Completer<WebViewController> _controller =
      Completer<WebViewController>();

  CustomWebView({
    @required this.title,
    @required this.selectedUrl,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        backgroundColor: Colors.blueAccent,
      ),
      body: WebView(
        initialUrl: selectedUrl,
        javascriptMode: JavascriptMode.unrestricted,
        javascriptChannels: <JavascriptChannel>[
          JavascriptChannel(
            name: 'Print',
            onMessageReceived: (msg) {
              Map token = json.decode(msg.message);
              Navigator.pop(context, token);
            }
          ),
        ].toSet(),
        gestureRecognizers: Set()
          ..add(Factory<VerticalDragGestureRecognizer>(
              () => VerticalDragGestureRecognizer())),
        onWebViewCreated: (WebViewController webViewController) {
          _controller.complete(webViewController);
        },
      )
    );
  }
}

Если я позвоню по коду, Я могу ввести свой адрес электронной почты и пароль. Но после входа Facebook не передает мне токен.

Что я делаю не так?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...