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

Posted

技术标签:

【中文标题】获取用户数据时出现未经身份验证的错误【英文标题】: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 我编辑了我的问题 【参考方案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
        
    );
  

【讨论】:

以上是关于获取用户数据时出现未经身份验证的错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Facebook Graph API 提取用户信息时出现身份验证错误

Firebase firestore 获取未经身份验证的用户文档

尝试获取用户 Youtube 频道时出现权限不足错误

使用 Laravel Lumen + Passport 获取经过身份验证的用户时出现问题

尝试从部分视图重定向用户时出现CORS错误

我想检查自定义表单验证以获取数据库中的唯一用户ID,但是formGroup期望formGroup实例时出现错误