嘗試處理OAuth登錄情景,如果用戶在查詢字符串中登錄頁面authorization_code
,我們將處理該令牌並繼續或,如果它們沒有登陸頁面,我們檢查本地存儲的現有令牌,確保它仍然有效,並根據其有效性重定向到登錄或繼續。Angular2查詢參數訂閱觸發兩次
問題是,在我們檢查authorization_code
查詢字符串param的存在的情況下,預訂會觸發兩次。第一次它是空的,第二次它在字典中有正確的值。
app.component.ts
export class App implements OnInit {
constructor(private _router: ActivatedRoute) {
}
public ngOnInit(): void {
console.log('INIT');
this._route.queryParams.subscribe(params => {
console.log(params);
});
}
}
Plunker(您需要將其彈出到一個新的窗口,並添加查詢字符串?test=test
)。
問題
- 有什麼我做錯了,使之火兩次?
- 我不能忽略帶有條件的空對象,因爲這是我們需要驗證現有身份驗證令牌的場景 - 是否有另一種方法來處理這不是完整的黑客?
一個有趣的轉折......當未提供查詢字符串,認購僅觸發一次。 – lukiffer
我測試了它[https://embed.plnkr.co/XgCauzZdTSqqokCdFWCi/?test=test](https://embed.plnkr.co/XgCauzZdTSqqokCdFWCi/?test=test),沒有任何意外的事情發生! –
@A_Singh你測試了錯誤的URL,所以你只能得到第一個空值 – yurzui