OAuth を使用して別の Web サイトのユーザー アカウントに接続する Flutter アプリを構築しようとしています。これには、ユーザーが資格情報を入力できるサイトの OAuth ページに移動し、ユーザーが戻ったときにアプリに返されるコードを解析する必要があります。
だから私の質問は:
- OAuth Web ページに移動するにはどうすればよいですか?
次のような内部ルートに移動できることがわかりました。
Navigator.of(context).pushNamed('/some_page');
しかし、次のような外部ページに移動したい場合はどうすればよいhttps://coolsite.com/oauth/authorize
でしょうか?
(a) ローカル Web ブラウザーで URL を開き、(b) アプリ内 Web ビューでこれを行うにはどうすればよいですか?
- ユーザーが認証後にアプリに戻るには、どの URL にユーザーをリダイレクトする必要がありますか? また、応答を解析するにはどうすればよいですか?
2つの方法があるようです:
(a) URL とページのタイトルに認証コードが含まれる空白のページにユーザーをリダイレクトさせます。この方法の場合 - ページまたは URL を解析するにはどうすればよいですか?
(b) のようなある種のスキームにユーザーをリダイレクトしますmy-dart-app://coolsite-oauth?code=xyz
。このメソッドの場合、スキームを登録するにはどうすればよいですか?また、cool site-OAuth
を呼び出すときに指定したルートにマップするnew MaterialApp
か、または別の場所にマップしますか? そして、クエリパラメーターをどのように解析しますか?