Я следовал руководству от https://fullstackmark.com/post/13/jwt-authentication-with-aspnet-core-2-web-api-angular-5-net-core-identity-and-facebook-login
, вы можете взглянуть на него, он хорошо написан, но использовал старую версию angular, и я использую Angular 8. Когда я следовал за руководством, я получил ошибку от auth service
, что map does not exist on type Observable
. ТАК я пытался поставить pipe
но все равно получаю ошибку. Что я сделал не так и есть ли здесь решение?
authservice
login(userName, password) {
let headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
return this.http
.post(
this.baseUrl + '/auth/login',
JSON.stringify({ userName, password }),{ headers }
)
.map(res => res.json())
.map(res => {
localStorage.setItem('auth_token', res.auth_token);
this.loggedIn = true;
this._authNavStatusSource.next(true);
return true;
})
.catch(this.handleError);
}
логин OnSubmit
submit() {
const controls = this.loginForm.controls;
/** check form */
if (this.loginForm.invalid) {
Object.keys(controls).forEach((controlName) =>
controls[controlName].markAsTouched()
);
return;
}
this.loading = true;
const authData = {
username: controls.username.value,
password: controls.password.value,
};
this.isRequesting = true;
this.auth
.login(authData.username, authData.password)
.finally(() => (this.isRequesting = false))
.subscribe(
(result) => {
if (result) {
this.router.navigate(["/dashboard"]);
}
},
(error) => (this.errors = error)
);