获取用户数据时出现未经身份验证的错误

时间:2021-04-19 22:00:10

标签: angular laravel api authentication jwt

我使用 Laravel 作为端点并使用 angular 作为前端来创建一个简单的应用程序我登录后显示此问题我试图获得当前的身份验证 每次显示此消息“未经身份验证”时的用户数据

AuthController.php

class AuthController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:api', ['except' => ['login', 'signup' ]]);
    }  
     /**
     * Get the authenticated User.
     *
     * @return \Illuminate\Http\JsonResponse
     */
    public function userProfile() {
        $user = Auth::user();
        return $user;
    }
}

这是http调用的服务


import { HttpClient, HttpResponse ,HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { TokenService } from './token.service';



@Injectable({
  providedIn: 'root'
})
export class HttpCallsService {

  constructor(private http:HttpClient,
    private Token:TokenService,
    
) { }
  userData(){
    return this.http.get('http://localhost:8000/api/profile');
  }
}

配置文件组件

这就是我如何将请求放入组件中

1 个答案:

答案 0 :(得分:1)

您以匿名身份发送请求
您必须在请求中指定身份验证

import { HttpClient, HttpResponse ,HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { TokenService } from './token.service';



@Injectable({
  providedIn: 'root'
})
export class HttpCallsService {

  constructor(private http:HttpClient,
    private Token:TokenService,
    
) { }
  userData(){
    return this.http.get('http://localhost:8000/api/profile', {
        // Send the authentication token here 
        headers: {
            'Authorization': 'Bearer ' + userToken
        }
    });
  }
}