У меня есть угловое приложение, использующее Angular 6 и NgRX 6.
У меня есть сервер идентификации, с которым я общаюсь через неявный поток, который однажды перенаправляет обратно в мое приложение, имеет мой токен и т.д.еще на панели навигации.
Я хотел бы удалить этот фрагмент из URL и остаться на моем маршруте.
Например,
http://foo.com/bar/boo#key=value
Я хотел бы очистить это, как только я закончу ибыть оставленным на
http://foo.com/bar/boo
Я обрабатываю это следующим образом
@Effect({ dispatch: false })
persistSessionTokens$: Observable<void> = this.actions$.pipe(
ofType<ActionWithPayload>(SET_SESSION_TOKENS),
map(action => action.payload),
tap(tokens => {
persist(ID_TOKEN_STORAGE_KEY, tokens[ID_TOKEN_STORAGE_KEY]);
persist(ACCESS_TOKEN_STORAGE_KEY, tokens[ACCESS_TOKEN_STORAGE_KEY]);
const url = this.router.url;
this.router.navigate([url], { replaceUrl: true });
}),
catchError(error => of({ type: SET_TOKEN_FAILURE, payload: error }))
);
Однако это перенаправляет меня на http://foo.com/bar/
Мое заявление в этом случаеимеет базовый href bar
boo
- это имя моего арендатора, поэтому важно, чтобы я сохранил эту структуру в URL.