Мы используем Amplify для аутентификации в AWS Lambda.Мы пытаемся повысить безопасность нашего продукта, поэтому я добавил перехватчик для получения текущих учетных данных и добавления их в заголовок каждого запроса.
Приведенный ниже код правильно перехватывает запрос и корректно получает токен доступа.,Однако, поскольку все движущиеся части управляются асинхронным Обещанием / Наблюдаемым, запрос добавляется до добавления заголовка.Что мне нужно изменить?
Я прошу прощения за мой ограниченный опыт работы с Promise / Observable.
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log("INTERCEPTED!!");
this.auth.userCredentials().subscribe( result => {
this.sessionToken = result.sessionToken;
console.log(this.sessionToken);
request = request.clone({
withCredentials : true,
setHeaders: {
Authorization: `Bearer ${this.sessionToken}`
}
});
});
console.log(request);
return next.handle(request);
}