【问题标题】:Unauthenticated error while fetching user data获取用户数据时出现未经身份验证的错误
【发布时间】:2021-07-14 02:45:24
【问题描述】:

我使用 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');
  }
}

配置文件组件

这就是我将请求集放入组件的方式

【问题讨论】:

  • 您能分享一下您如何从前端发出请求(实际上该请求对象的样子)吗?
  • @Tpojka 我编辑了我的问题

标签: angular laravel api authentication jwt


【解决方案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
        }
    });
  }
}

【讨论】:

    猜你喜欢
    • 2018-05-02
    • 1970-01-01
    • 2019-08-28
    • 2021-12-14
    • 2017-11-29
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2021-06-23
    相关资源
    最近更新 更多