使用JWT身份验证的REST API
技术  /  管理员 发布于 4年前   1008
项目开发紧没有什么时间,发布一篇译文:使用JWT身份验证的REST API
repo
搭建API?
前几天,当引导学生学习neoan3教程时,我注意到我构建的演示实际上可以用于为各种用例提供一个API支架。我构建的结果远远超出了最初的计划:创建一个用于测试和开发的简单后端。通过创建器工具的体系结构,可以使用它来快速设置一个简单的API,然后将其构建为可扩展且强大的生产解决方案。那就对了!基于cli的API终结点生成器,可为您提供可靠的后端。
首先,让我们看一下它的设置。
先决条件
您所需要的只是本地PHP安装(7.4),composer和neoan3-cli(确保在全局范围内安装它,并且在您的路径中可用)。
安装
composer create-project sroehrl/scaffold-api
cd scaffold-api
neoan3 develop
此时,您应该看到服务器在localhost:8080上启动。
所有端点都位于localhost:8080 / api.v1 /
现在怎么办?
该应用程序已经带有基于JWT的身份验证,因此我们可以使用我们现有的应用程序(或邮递员?)来注册用户:
POST /api.v1/users
可以通过转到“ /models/users/users.model.php”来更改注册和登录行为,但是默认情况下,该模型至少期望
用户名和密码
作为字段。您可以将要存储的其他任何内容添加到用户。创建后,API将以200的状态码以及您的用户对象和JWT令牌进行响应。
注意:默认情况下,所有自定义端点都需要有效的Baerer令牌。因此,除非您在登录名(POST /api.v1/users/auth)或注册名(POST /api.v1/users)处触发,否则您将需要使用此令牌作为授权标头(请参阅自述文件中的javascript示例)。
自定义端点
现在有趣的部分:身份验证是起点,但是接下来呢?一个简单的命令将创建其他端点:
例如,php scaffold标记将生成以下文件:
/component/tags/tags.ctrl.php and /model/tags/tag.model.php
它们的内容将使以下端点可用:
POST /api.v1/tags 创建新标签
PUT /api.v1/tags/:tag-id 更新标签
GET /api.v1/tags lists/searches 列出/搜索标签(可以使用带条件的get-parameters)
GET /api.v1/tags/:tag-id 按ID检索特定标签。
是否想暂时公开您的端点?
只需在适当的方法函数中将component / tags / tags.ctrl.php中的Stateless :: restrict()注释掉即可。
到目前为止,一切都很好。现在,只需将带有json-payload的POST调用发送到/api.v1/tags,您将拥有第一个标签。
让我知道你的想法!
转:https://dev.to/sroehrl/scaffolding-rest-apis-with-jwt-authentication-loc
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号