Angular2 Redirect после входа в систему

Я создаю систему аутентификации в angular2 с идеей, что если пользователь, не прошедший аутентификацию, попытается перейти на «защищенный» URL, система перенаправит пользователя на страницу входа, введя в URL параметр запроса, который называется «next». «Это поможет системе входа перенаправить пользователя туда, где он хотел быть в первую очередь.

login?next=my-redirect-url

Чтобы защитить свои компоненты, я использую декоратор@CanActivate(isUserAuthenticated) во всех них.isUserAuthenticated Функция выглядит следующим образом:

function isUserAuthenticated(
    prevInstr: ComponentInstruction, 
    nextInstr: ComponentInstruction
): boolean {
    const authService = injector.get(AuthService);
    const router = injector.get(Router);
    if(authService.isLoggedIn()) {
        return true;
    } else {
        router.navigate(["/Login", {next: nextInstr.urlPath}]);
        return false;
    }
}

Этот подход не работает, потому чтоurlPath собственностьnextInstr не показывает "полный" URL (например, в нем отсутствуют параметры запроса).

Есть ли способ построить полный URL-адрес изComponentInstruction например, какnextInstr?

Ответы на вопрос(2)

Ваш ответ на вопрос