2016-04-27 3 views
1

Google Identity Toolkitのワークフローには、Angularや他のjavascriptフレームワークと統合すると問題があります。角度2のGITKにフラグメント(#ハッシュ)を使用したリダイレクトに関する問題があります

角度は、URLフラグメント(#)を使用してビュー間を移動します。 HTML5スタイルを使用してナビゲートし、ハッシュの使用を避けることもできますが、残念ながらAngular 2ではフラグメントを正しく処理する際に問題があります。https://github.com/angular/angular/issues/6595ユーザーが正常に歌う-にサービス利用者第三者によって許可されている場合は、ログインワークフロー中に

:URLの断片が内部角度と同様のフレームワーク、それはGITKを妨げているいくつかの状況で適切に動作することにより、使用されているので

GITKウィジェットページにリダイレクトされます。

リダイレクトURLには、状態パラメータが含まれます。 TwitterやFacebookの場合、stateパラメータはURLにクエリーパラメータとして追加されます(例:... login /?state = AFD_5tlxzU ...)。 Googleアカウントのような他のサービスでは、リダイレクトURLにフラグメントの状態パラメータを追加しています(例:... login /#state = AFD_5tlxzU ...)。

AngularがナビゲートするためにURLフラグメントを使用しているため、リダイレクトURLの状態フラグメント(例:... login /#state = AFD_5tlxzU ...)がフレームワークによって削除され、GITKウィジェットが正常に機能しなくなります認証を完了します。

フラグメントの代わりにクエリパラメータを使用するようGoogleアカウントやGITKに指示するオプションはありますか?また、私は、リダイレクトURLのクエリパラメータの代わりにフラグメントを使用することの合理性について疑問に思っていましたか?

答えて

1

私は自分の自己に答えています。

hereのように問題を解決する1つの方法は、SingularロジックをAngularルーティングパスの外に移動することです。

たとえば、シンクインのみを担当する別個の静的.htmlファイルを作成します。別の解決方法は、ng2-ui-routerを使用することです。

+1

ちょうどあなたがng2 ui-routerでそれをどのように解決したのですか? –

関連する問題