захватить параметры запроса от углового перенаправления 5 - PullRequest
0 голосов
/ 17 мая 2018

Моя проблема в том, что я использую auth0 в качестве службы аутентификации, теперь, когда пользователь входит в систему и проходит аутентификацию, он перенаправляется обратно на мой URL-адрес обратного вызова, который затем решает, куда отправить пользователя сейчас, моя проблема в том, когда вы перенаправлены обратнок вашему URL обратного вызова от auth0 есть строка queryParams в строке url, например, так:

http://localhost:4200/account/login/callback#access_token="dsadsadsadsa dasdsaa" просто в качестве примера, но затем в течение доли секунды строка запроса удаляется и остается в http://localhost:4200, теперь япытаясь получить запрос Params с помощью этого метода

this.activatedRoute.queryParams.subscribe(params => {
    console.log(params);
});

, теперь это должно работать, но console.log - это пустой объект каждый раз, я думаю, что из-за того изменения URL, которое происходит ..

Есть ли какой-нибудь способ, которым я могу получить параметры запроса перед этим удалением ??

РЕДАКТИРОВАТЬ

В основном происходит аутентификация, а затем перенаправлениена

localhost:4200/account/login/callback?acessToken="dasdasdaefssves"

, но затем маршрут меняется на

localhost:4200/account/login/callback

без параметров запроса перед функцией activatedRoute geшанс побежать!

Любая помощь будет признательна!

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Обратите внимание, что ваш URL-адрес перенаправления http://localhost:4200/account/login/callback?access_token="dsadsadsadsa dasdsaa"

, но направляет его на localhost:4200/account/callback

ПРИМЕЧАНИЕ

У вас нетчто / account / login / callback маршрут определен в угловых.Но вместо этого у вас есть маршрут / account / callback .Angular пытается разрешить маршрут и перенаправляет его на / account / callback без queryParams.

Определите маршрут в angular, и ваша проблема будет решена.

0 голосов
/ 17 мая 2018

Я не получил ваш полный вопрос, но насколько я понимаю. Вы хотите получить параметр запроса из URL.

Чтобы получить параметр запроса из URL, вам нужно это сделать.

 constructor(private activatedRoute: ActivatedRoute){}

Так вы можете получить все параметры запроса из URL.

this.activatedRoute.queryParamMap
                .map((params: Params) => params.params)
                .subscribe( (params) => {
                     if(params && params['access_token']){
                        console.log(params['access_token']);
                     }
                 });
...