php dingo和jwt,dingo配合laravel、JWT使用

介绍:dingo api包是给laravel和lumen提供的Restful的工具包,它可以与jwt组件一起配合快速的完成用户认证,同时对于数据和运行过程中所产生的异常能够捕获到并且可以做出对应的响应。

dingo文档地址:https://github.com/dingo/api/wiki

dingo安装地址:https://github.com/dingo/api/

dingo具体使用:https://github.com/dingo/api/wiki/Creating-API-Endpoints

dingo的中文文档:https://learnku.com/docs/dingo-api/2.0.0/Making-Requests-To-Your-API/1453

第一步先安装

composer require dingo/api:v2.2.3

10128426094dcaee8d45533501ddd97e.png

然后通过下面命令发布配置跟JWT一样

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

ea3940a1ca9d646ef13ebf4ba757f1f0.png

这个时候就会在config下面生成一个api配置文件,

注意:当引用了dingo之后,laravel中自带的路由api就会失效。会直接被dingo的路由服务所进行接管。(也就是说原先所定义的laravel的api服务中间件则不能够使用,如果说需要使用就需要在重新配置)

ef8b759aa34881227ebc3a5b6865a06f.png

在接下来打开ENV文件进行配置

53d2ece1cf7a25c881c2f6dc3d0400aa.png

7b82da44e511997211312ddd7994872e.png

打开route\api.php配置路由

d542328225606b3715c160f46a3922d4.png

测试,我们的路由设置的是get方式,试着用post方式进行测试时就会使用dingo的报错信息处理

bf360c1374708f61a46c97aebd7ab558.png

下来我们处理一下版本切换

定义好v2版本的路由

7c0b44e9f433351d73bab407c2eec235.png

然后需要在header头里边添加参数,这里需要注意的就是prs  blog  v2都是在env中定义的

9e21e14082a21da5cf0cb305bc49d2d8.png

使用Dingo配合JWT返回错误信息

59cc84faea0d94d89e5f589cfad654bf.png

a500f5048b9b0587de92d0d165a76572.png

也可以使用dingo来自定义错误信息,使用dingo的array方法

a7a24f6b27b9943f93612f189237ab28.png

50923e717db6e8485919f1375350b490.png

如果使用dingo的错误返回消息,也可以定义配置文件的返回

b5854dfe9d992ffc37410f5557b36f2e.png

到这里JWT和dingo配合laravel的操作就结束了,这里只是怎么基础使用,后边在项目中会在深入的使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重启开源,分享无限--微软面试187题精选

重启开源,分享无限--诚邀你加入微软面试187题的解题中 前期回顾 我想,只要是稍微浏览过我博客的朋友都知道,本博客内总体上大致分为两个部分的内容:1、算法(如十六个经典算法研究系列);2、面试与…

二三星缩水软件手机版_还在抱怨三星手机不好用?用这些软件立马解决

S10系列上市让三星在国内的销量有所回暖,但是很多小伙伴拿到手机后都在吐槽三星的软件工程师不行,比如手势操作太难用了,不如小米人性化。其实这只是你没找到秘诀而已,三星手机原来还可以这样使用?三星有一个官方软件&…

使用Settings Bundle为程序添加设置项

创建一个Demo来学习一个Setting Bundle为程序存储设置项 Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。用户在Settings程序中设置好相关相关选项后回到我们自己的程序,自己的程序中的对…

Netty自娱自乐之协议栈设计

---恢复内容开始--- 俺工作已经一年又6个月了,想想过的真快,每天写业务,写业务,写业务......。然后就是祈祷着,这次上线不要出现线上bug。继续这每天无聊的增删改查,学习学习一下自己感兴趣的事&#xff0c…

Linux 状态命令之磁盘状态 df du

df df(disk free)命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。 默认情…

C++包扩展_利用 MATLAB Coder 将M代码生成C/C++代码

利用MATLAB Coder将MATLAB代码生成C/C代码​mp.weixin.qq.comMATLAB Coder 可以将MATLAB代码生成工程中常用的嵌入式或其他硬件平台的C或者C代码。使用者可以在MATLAB中进行验证,然后将生成后的代码集合到工程中。集合的方式可以是源码,静态库和动态库。…

linux 进程通信机制,linux的进程通信机制小结

linux向应用软件提供下列进程间通信手段:####第一类通信方式:只能用于父进程与子进程之间,或者两个兄递进程之间。>管道Pipe>信号Signal>跟踪Trace管道:由父进程来建立。管道两端的进程各自都将该管道视作一个文件。一个…

看穿面试这件事儿……

报 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址: http://blog.csdn.net/jobchanceleo/archive/2007/04/17/1568254.aspx 有个朋友Min十几年工作经验&…

阿里云胡晓明:数据智能将为城市生活带来真正价值

8月30日,在2017全球(上海)人工智能创新峰会-世界人工智能城市规划大会上,阿里巴巴集团资深副总裁、阿里云总裁胡晓明作《通往智能之路》主题演讲,指出数据智能将从交通、医疗、城市治理等方面影响城市生活,…

MySQL 之 information_schema

一、information_schema简介 在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMA…

【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验

实验现象: 核心代码: module single_port_ram(input CLK_12M,input WR,input RD,input CS0,inout [15:0]DB,input [24:16]A,output FPGA_LEDR,output FPGA_LEDG,output FPGA_LEDB); //----------------------------pll-------------------------------//…

curl post https_Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序

前言前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现。我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能。并当时使用的一个超级强大的工具cURL。心血来潮&a…

linux系统页面缓存,Linux缓存机制之页缓存

内核采用一种通用的地址空间方案,来建立缓存数据与其来源之间的关联。1) 内存中的页分配到每个地址空间。这些页的内容可以由用户进程或内核本身使用各式各样的方法操作。这些数据表示了缓存中的内容;2) 后备存储器struct backing_dev_info指定了填充地…

十月百度,阿里巴巴,迅雷搜狗最新面试七十题(更新至10.17)

十月百度,阿里巴巴,迅雷搜狗最新面试十一题 引言 当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计&…

python threading 结束线程

python threading 启动的线程,并没有提供终止线程的方法,现总结一下在网上找到的方法 1、通过threading.Thread._Thread__stop()结束线程 import time import threading def f():while 1:time.sleep(0.1)print(1)t threading.Thread(targetf) t.start…

快读模板

快速读入字符 inline char readc(){ static char buf[1 << 18], *fs, *ft;return (fs ft && (ft (fs buf) fread(buf, 1, 1 << 18, stdin)), fs ft) ? EOF : *fs; } 快速读入数字 inline int readint(){register char creadc();register int res0;re…

fasttext 文本分类_4种常见的NLP实践思路【特征提取+分类模型】

越来越多的人选择参加算法赛事&#xff0c;为了提升项目实践能力&#xff0c;同时也希望能拿到好的成绩增加履历的丰富度。期望如此美好&#xff0c;现实却是&#xff1a;看完赛题&#xff0c;一点思路都木有。那么&#xff0c;当我们拿到一个算法赛题后&#xff0c;如何破题&a…

Angular4学习笔记(六)- Input和Output

概述 Angular中的输入输出是通过注解Input和Output来标识&#xff0c;它位于组件控制器的属性上方。 输入输出针对的对象是父子组件。 演示 Input 新建项目connInComponents:ng new connInComponents.新增组件stock:ng g component stock.在stock.component.ts中新增属性stockN…

Python 常见加密方式和实现

Python 加密与解密小结 这篇文章主要介绍了Python 加密与解密,使用base64或pycrypto模块 前言 据记载&#xff0c;公元前400年&#xff0c;古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间&#xff0c;德国军方启用“恩尼格玛”密码机…

jenkins日志乱码linux,Jenkins控制台中乱码问题解决

由于服务器环境及应用层各版本的不同、编码方式的不同因此会有很多种情况会出现乱码问题。由于Jenkins中的job运行的是独立的一个shell环境&#xff0c;许多的环境变量与服务器中是不一样的&#xff0c;因此在job中执行的命令也就会有所差异。因此可以在job中执行env命令&#…