2017-12-13 43 views
0

私はAngular 2アプリケーションで認証にoauthを使用しています。認証後、私はハッシュの後に戻りURLのすべての情報を取得します。私の角度2のプログラムの中でルーティングした後、ハッシュ部分は完全に削除されますが、私はそれを必要とします。この質問は前に尋ねられ、答えられましたが、答えが私の問題を解決しなかった、私の断片はまだ "ヌル"です。私は答えの一つで述べたように思う。このソリューションは、唯一pathlocationstrategyのためですが、私はそう openidトークンのために私のハッシュフラグメントをAngular 2で保存するには

Retrieve hash fragment from url with Angular2

をhashlocationstrategy使用しています、これは、答えは私の問題が解決していない理由です。誰かが "hashlocationstrategy"を使っている間にその問題を解決しましたか?

答えて

0

インターネットのどこかのアドバイスのおかげで、もはやそれを見つけることができないので、私は "window.location.hash"を使用しました。あなたが同様のコードを配置する必要がapp.module.tsで :

constructor(public routerName: Router) { 
console.log("Appmodule is starting") 
routerName.events.subscribe(s => { 
    if (s instanceof NavigationStart&& 
      (s.toString().indexOf("/scope")>0)) 
    { let tokenReceived=window.location.hash; 
    this.decodeToken(tokenReceived); 
    } 
}); 

あなたは、本質的に開始し、それに加入するには、ナビゲーションを探しているのと、すぐにアプリケーションが/スコープを識別し、それにナビゲートしているようです受信したトークンの復号が開始される。 "decodeToken"はデコードのための私の独自の方法です。 これは、同じファイルにあなたのガードにルーティングするための経路を有する伴い、すなわち:

{ path: 'scope', component: LoginComponent}, 

は、この情報がお役に立てば幸い!

関連する問題