Tengo una aplicación que usa laravel como backend y Angular en la interfaz.
Lo que quiero hacer es obtener los datos del usuario y mostrarlos en cualquier parte de mi sitio web. Por ejemplo, me gustaría obtener el nombre del usuario y mostrarlo en la página de inicio cuando el usuario haya iniciado sesión.
Puedo registrarme e iniciar sesión con éxito en un usuario. Puedo obtener los datos de usuario de mi método de inicio de sesión en authService en console.log. Pero, ¿cómo puedo usar esos datos de usuario y obtener los datos de usuario de mi método getUser? ¿Hay alguna forma de enviar los datos del método de inicio de sesión al método getUser?
Servicio de autenticación
import { Injectable } from '@angular/core'; import { User } from '../shared/user'; import { Observable, throwError } from 'rxjs'; import { catchError, map } from 'rxjs/operators'; import { environment } from 'src/environments/environment'; import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http'; import { Router } from '@angular/router'; @Injectable({ providedIn: 'root' }) export class AuthService { endpoint: string = `${environment.RECIPE_LIST_API}`; headers = new HttpHeaders().set('Content-Type', 'application/json'); currentUser = {}; constructor(private http: HttpClient, public router: Router) {} // Log in login(user: User) { return this.http .post<any>(`${this.endpoint}/login`, user) .subscribe((res: any) => { console.log(res); localStorage.setItem('access_token', res.token); this.currentUser = res; }); } getUser() { this.currentUser // want to get my userdata here so that I can send it to any component } }componente al que quiero enviar mis datos
import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { AuthService } from '../services/auth.service'; @Component({ selector: 'app-recipe-lists', templateUrl: './recipe-lists.component.html', styleUrls: ['./recipe-lists.component.css'] }) export class RecipeListsComponent implements OnInit { currentUser: Object = {}; constructor( public authService: AuthService, private actRoute: ActivatedRoute ) { this.authService.getUser(); } ngOnInit(): void {} }usuario.ts
export class User { email!: String; password!: String; }