• 每天一点点之laravel框架开发


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

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

    protected $routeMiddleware = [
            'client.credentials'=>LaravelPassportHttpMiddlewareCheckClientCredentials::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 就不会显示该目录的列表了。
     
  • 相关阅读:
    不能执行已释放的Script的代码(ie错误)
    javascript数组
    Jquery遍历方法
    Jquery选择器汇总
    使用xmlHttprequest 发送异步请求(Ajax核心对象)
    不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串
    解决Js跨域访问的问题
    Oracle 第一天
    计算机图形学1——绪论
    数据库
  • 原文地址:https://www.cnblogs.com/cap-rq/p/10147796.html
Copyright © 2020-2023  润新知