Перенаправить на стартовую страницу после получения токена - PullRequest
0 голосов
/ 06 июля 2018

Когда я загружаю свою угловую страницу, она должна перейти на сайт, получить токен и перенаправить на ту же страницу. Как мне этого добиться?

Я думал о вызове window.location.href = get-token-site.com/token?state=link-to-my-site.com в ngOnInit ()

Но, это сделает бесконечный цикл и будет идти вперед и назад. Как мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Перенаправить на другой сайт:

Сохраните это утверждение на своей угловой странице:

HTML:

<button (click)="getTokenFromAnotherSite()">Get Token</buttom>

TS:

getTokenFromAnotherSite(){
 window.location.href = `path to another site from where you want to get token?returnPath ='return_page_path'`;
}

На другом сайте component.ts:

/**
   * Method initializes first.
   */
  ngOnInit() {
    this.route.queryParams.subscribe(resp => {
      this.returnUrl= resp.returnPath ;

    });

  if(gotToken){
    window.location.href = `you_host/${this.returnUrl}?token=gotToken`;
    }
  }

Получите токен на той же угловой странице:

/**
   * Method initializes first.
   */
  ngOnInit() {
    this.route.queryParams.subscribe(resp => {
      this.token = resp.token;
    });
  }
0 голосов
/ 06 июля 2018

Вы можете использовать регулярные выражения, чтобы проверить, есть ли у URL токен или нет

например:

const url = window.location.href;
const haveNoToken = /^https?:\/\/stackoverflow.com\/?$/.test(url);
if (haveNoToken) {
    window.location.href = get-token-site.com/token?state=link-to-my-site.com;
}

чтобы избежать бесконечного цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...