0

我正在尝试编写一个守卫,如果用户未登录,则重定向到外部服务(例如 Instagram),

if (!loggedIn) {
   this.location.go(this.instagramLoginUri);
}

locationAngular 的一个实例在哪里Location,而 URI 是

https://api.instagram.com/oauth/authorize/?client_id=xxxxx&redirect_uri=xxxxx&response_type=token

当这个守卫触发时,Angular 会尝试导航到

http://localhost:4200/https://api.instagram.com/oauth/authorize/?client_id=xxxxx&redirect_uri=xxxxx&response_type=token

当然,这失败了。我尝试使用

window.location.href = 'xxxxx'

同样,结果完全相同,所以我不确定这确实与 Angular 相关。任何指针?

4

1 回答 1

1

你能试试这个:

 constructor(@Inject(DOCUMENT) private document: any) { }

 if (!loggedIn) {
    this.document.location.href = 'http://instagram.com';
 }
于 2018-02-07T08:36:06.500 回答