1.首先保证你的config/auth.php 中 guards 的 api 的 driver 选项改为 passport

2.注册中间件,在 app/Http/Kernel.php 文件中的 $routeMiddleware 数组中添加如下中间件

protected $routeMiddleware = [
'client.credentials'=>\Laravel\Passport\Http\Middleware\CheckClientCredentials::class,
];

然后在需要认证接口路由文件 routes/api.php 前面加上这个中间件。

Route::group([ 'middleware' => ['client.credentials']], function () {

});

如果中间件使用auth:api,会报 {"message":"Unauthenticated."} ,因为auth会先判断是否登录

3.此时访问 /api/user 就会报 {"message":"Unauthenticated."}

加上 accessToken 访问就可以访问到了

GET 方式
/api/user
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer '.$accessToken,
],

我在使用postman请求接口的时候 选择Authorization下的Bearer Token,请求还是报 Unauthenticated

最后发现是Authorization类型选错了,应该选择Auth2.0,Add authorization data to  Request Headers,添加Access Token,然后访问,就可以啦

 
如果还是 Unauthenticated,可以考虑一下配置文件了
可以查看日志,发现报一下错误:
 
Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the Rewrite
 
比如我们看看一个目录的目录配置:
<Directory "D:/www">

    #Options Indexes FollowSymLinks
#Options FollowSymLinks
Options Indexes AllowOverride None Order allow,deny Allow from all </Directory>
根据以上的报错可以看出是因为FollowSymLinks禁用了,这就好说了,在配置中添加 Options FollowSymLinks 就可以啦
这里需要注意的是,出这个错误是因为 url中去除了 index.php 导致的
  之前:aaa.com/index.php/api/vi/list
   现在:aaa.com/api/vi/list
 
 
扩展:
线上项目为了完全着想,当根目录下没有 index.html 文件时,会显示目录结构,这样显然不可以,因此需要设置让他不显示,如果想实现以上效果,就可以将Options 中 Indexes去掉就好啦
Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。
 

每天一点点之laravel框架开发 - API通过access_token获取用户id报 Unauthenticated. 错误(passport)的更多相关文章

  1. 每天一点点之laravel框架开发 - Laravel5.6去除URL中的index.php

    在项目routes/web.php文件中添加了自定义的路由后,访问localhost/index.php/aaa,可以正常访问,但是去掉index.php后,提示404 Not Found 1. 按照 ...

  2. 每天一点点之laravel框架开发 - passport授权报invalid_credentials

    {"error":"invalid_credentials","message":"The user credentials we ...

  3. 使用laravel框架开发接口时ajax post请求报错419

    nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...

  4. 每天一点点之vue框架开发 - 引入Jquery

    1. 安装jquery npm install jquery --save-dev 2.在build/webpack.base.conf.js中添加如下内容 var webpack = require ...

  5. 每天一点点之vue框架开发 - 使用vue-router路由

    1.安装路由(安装过的跳过此步) // 进入项目根目录 cd frontend // 安装 npm install vue-router --save-dev 2.在入口文件main.js中引入路由 ...

  6. laravel框架手动删除迁移文件后再次创建报错

    手动删除laravel框架数据表迁移文件后再次创建报错 如下图: 执行创建操作之后会在autoload_static.php及autoload_classmap.php这两个文件中添加迁移文件的目录. ...

  7. 每天一点点之laravel框架 - Laravel5.6 + Passport实现Api接口认证

    1.首先通过 Composer 包管理器安装 Passport: composer require laravel/passport 注:如果安装过程中提示需要更高版本的 Laravel:larave ...

  8. 微信小程序开发——点击按钮获取用户授权没反应或反应很慢的解决方法

    异常描述: 点击按钮获取用户手机号码,有的时候会出现点击无反应或很久之后才弹出用户授权获取手机号码的弹窗,这种情况下,也会出现点击穿透的问题(详见:微信小程序开发——连续快速点击按钮调用小程序api返 ...

  9. 【Azure Developer】Python 获取Micrisoft Graph API资源的Access Token, 并调用Microsoft Graph API servicePrincipals接口获取应用ID

    问题描述 在Azure开发中,我们时常面临获取Authorization问题,需要使用代码获取到Access Token后,在调用对应的API,如servicePrincipals接口. 如果是直接调 ...

随机推荐

  1. 分页插件 layui.laypage 的用法

    参考 layui.laypage 官方文档 https://www.layui.com/demo/laypage.html 第一步下载插件 (注意不能只引入引入 layui.css和layui.js ...

  2. CSS元素和文本垂直居中

    div居中 1.使用绝对定位和负外边距让块级元素垂直居中 要点:必须提前知道被居中块级元素的尺寸,否则无法准确实现垂直居中. <div id="box"> <di ...

  3. Day3-P - Matrix POJ3685

    Given a N × N matrix A, whose element in the i-th row and j-th column Aij is an number that equals i ...

  4. angularJS 获取数据及 排序

  5. 解决Google浏览器不能打开kubernetes dashboard方法【转】

    在这片文章中,我将展示如何在Google Chrome上打开kubernetes dashboard.本文不叙述如何安装搭建docker和kubernetes,有关详情请上网查阅! 很多小伙伴们在自己 ...

  6. CC26XX开发

    [CC26XX开发] 2016-01-26 [CC2650 入门] CC2650 sensortag入门 http://processors.wiki.ti.com/index.php/CC2650_ ...

  7. CentOS下安装Orcale

    以前没有安装过,最近安装了.感觉在Liunx安装真的超麻烦.这是技术文档,分享给大家. LINUX安装oracle数据库步骤: 1.安装依赖包    yum -y install  gcc gcc-c ...

  8. Windows系统查看端口被那些进程使用

    Windows系统查看端口被那些进程使用注:当前Windows为虚拟机环境1. 打开命令提示符:开始-运行-cmd2. 列出使用端口的PID: netstat -abno -a 显示所有连接和侦听端口 ...

  9. 浅谈MSF渗透测试

    在渗透过程中,MSF漏洞利用神器是不可或缺的.更何况它是一个免费的.可下载的框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击.它本身附带数百个已知软件漏洞的专业级漏洞攻击工具.是信息收集. ...

  10. swing开发图形界面工具配置(可自由拖控件上去)

    swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...