2015-11-12 8 views
8

OAuthを使用して別のWebサイトのユーザーアカウントに接続するFlutterアプリケーションを構築しようとしています。これには、サイトのOAuthページに移動して、ユーザーが資格情報を入力してから、ユーザーが戻ったときにアプリに返信されるコードを解析する必要があります。フラッターアプリ内からウェブページに移動するにはどうすればよいですか? (OAuth)

だから私の質問は以下のとおりです。

1)私はOAuthのWebページに移動できますか?

私はこのような内部ルートにナビゲートできることを考え出した:私はhttps://coolsite.com/oauth/authorizeのような外部のページに移動したい場合

Navigator.of(context).pushNamed('/some_page'); 

しかし、何?

(a)ローカルWebブラウザでURLを開き、(b)アプリ内ウェブビューでこれを行うにはどうすればよいですか?

2)認証後にユーザーにリダイレクトする必要があるため、ユーザーはアプリに戻る必要があります。どのように応答を解析するのですか?

2つの方法があるようです。

(a)は、ユーザーがページのURLとタイトルに認証コードと空白のページにリダイレクトされましょうが。この方法 - ページやURLを解析するにはどうすればいいですか?

(b)my-dart-app://coolsite-oauth?code=xyz". If this method - how do I register the scheme, and would coolsite-oauth map to a route that I specify when calling new MaterialApp`な​​どのようなスキームにユーザをリダイレクトしますか?そして、どのように私はクエリのparamを解析するでしょうか?

+0

これはご質問と関連していますかhttps://github.com/flutter/flutter/pull/351? –

答えて

6

あなたは活動のサービスを使用してナビゲーションをトリガすることができます

import 'package:flutter/services.dart'; 

void launchUrl(String url) { 
    Intent intent = new Intent() 
    ..action = 'android.intent.action.VIEW' 
    ..url = url; 
    activity.startActivity(intent); 
} 

ありフラッターのナビゲーションを受信するための方法は現在ありませんが、それは我々が追加したい何か。この機能リクエストを追跡するためにこの問題を作成しました:https://github.com/flutter/flutter/issues/357

関連する問題