尝试处理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