#html #angular #authentication #jwt #frontend
Вопрос:
Я создал тестовую программу для проверки подлинности JW, но почему-то заголовок не содержит токена, даже если вход в систему прошел успешно. Я попытался заполнить заголовок в перехватчике, который выглядит так, как будто он работает, но в исходном запросе заголовок пуст.
что-то.услуга.тс
export class SomethingService {
constructor(private http: HttpClient) { }
getSomething(): Observable<Something>
{
const url = 'https://localhost:5001/Something';
return this.http.get<Something>(url);
}
}
главная страница.компонент.ts
export class HomeComponent implements OnInit {
something: Something;
constructor(private somethingService: SomethingService) { }
ngOnInit(): void {
this.somethingService.getSomething().subscribe((something: Something) => this.something =
something);
}
}
логин.компонент.ts
export class LoginComponent implements OnInit {
username = 'adminUser';
password = 'adminPassword';
returnUrl = '';
authenticationDto: AuthenticationDto = null;
errorMessage = '';
constructor(private authenticationService: AuthenticationService, private route:
ActivatedRoute, private router: Router) { }
ngOnInit(): void {
}
public login(): void{
console.log('LoginComponent::login');
this.errorMessage = '';
this.authenticationDto = null;
console.log(this.password);
this.authenticationService.login(this.username, this.password).subscribe(
x => {
this.authenticationDto = x;
},
error => {
console.dir(error);
this.errorMessage = `${error.statusText}/${error.status}`
}
);
}
}
jwt.перехватчик.ts
@Injectable()
export class JwtInterceptor implements HttpInterceptor {
constructor() {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
const currentUser = JSON.parse(sessionStorage.getItem('currentUser'));
if(currentUser amp;amp; currentUser.token){
request = request.clone({
setHeaders: {
Authorization: `Bearer ${currentUser.token}`
}
});
}
console.log(request);
return next.handle(request);
}
}
The console.log(request); in the interceptor shows the correct header in the request, but somehow the header is empty in the error shown after accessing the home.component.ts.
Thanks in advance.