我们创建一个User服务供其他服务调用以实现认证和鉴权。

checkToken 方法接收两个参数,一个token,一个permission,首先验证token获得user,对user的鉴权将在以后的权限认证教程补充。

如果认证成功,将返回user.

在配置文件server.php增加一个json-rpc服务,监听端口为9504[

'name' => 'jsonrpc-http',

'type' => Server::SERVER_HTTP,

'host' => '0.0.0.0',

'port' => 9504,

'sock_type' => SWOOLE_SOCK_TCP,

'callbacks' => [

SwooleEvent::ON_REQUEST => [Hyperf\JsonRpc\HttpServer::class, 'onRequest'],

],

],

post 请求{"jsonrpc":"2.0","method":"/user/checkToken","params":["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1ZGNhM2RjZjE2NDQzIiwiaWF0IjoxNTczNTM1MTgzLCJuYmYiOjE1NzM1MzUxODMsImV4cCI6MTU3MzU0MjM4MywidXNlcl9pZCI6MX0.s0_ADx2399sIajxHW_-LnQY7ftbVhH1qEFbRT60qNYA",[]],"id":"1"}

正确返回{

"jsonrpc": "2.0",

"id": "1",

"result": {

"user_id": 1,

"username": "admin",

"nick_name": "超级管理员",

"real_name": "超级管理员",

"sex": 0,

"phone": "",

"avatar": "",

"last_login_at": null,

"created_at": "2019-11-04 15:16:18",

"status": 1

}

}

错误返回{

"jsonrpc": "2.0",

"id": "1",

"error": {

"code": -32000,

"message": "Token未验证通过",

"data": {

"class": "Phper666\\JwtAuth\\Exception\\TokenValidException",

"message": "Token未验证通过"

}

}

}

这里可能有人会有疑问,这个服务是公开的,是不是谁都可以调用,答案肯定是否定的,我们的服务将部署在Docker私有网络,外部是无法访问到的,这个后面会讲到。

fguillot json rpc_Hyperf 框架创建 JSON-rpc 服务相关推荐

  1. gRPC创建Java RPC服务

    1.说明 本文介绍使用gRPC创建Java版本的RPC服务, 包括通过.proto文件生成Java代码的方法, 以及服务端和客户端代码使用示例. 2.创建生成代码工程 创建Maven工程,grpc-c ...

  2. yy神曲url解析php_使用PHP来简单的创建一个RPC服务

    RPC全称为Remote Procedure Call,翻译过来为"远程过程调用".主要应用于不同的系统之间的远程通信和相互调用. 比如有两个系统,一个是PHP写的,一个是JAVA ...

  3. php fwrite服务器上写不进去_使用PHP来简单的创建一个RPC服务

    RPC全称为Remote Procedure Call,翻译过来为"远程过程调用".主要应用于不同的系统之间的远程通信和相互调用. 比如有两个系统,一个是PHP写的,一个是JAVA ...

  4. SpringCloud创建Eureka Client服务注册

    1.说明 本文详细介绍微服务注册到Eureka的方法, 即Eureka Client注册到Eureka Server, 这里用任意一个Spring Cloud服务为例, 比如下面已经创建好的Confi ...

  5. fguillot json rpc_hyperf与go基于jsonrpc2.0通信

    前言 现在微服务很流行,很多的语言都有自己的rpc框架,在同一框架内的微服务之间通信很方便,笔者工作时用到的框架是hyperf,自带jsonrpc.grpc组件,grpc用起来略感繁琐,调试起来也不方 ...

  6. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...

    原文:NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成 本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博 ...

  7. java高性能rpc,企业级rpc,zk调度,负载均衡,泛化调用一体的rpc服务框架

    先放出链接,喜欢的给个star:https://gitee.com/a1234567891/koalas-rpc 一:项目介绍 koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖 ...

  8. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试

    一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...

  9. RSF 分布式 RPC 服务框架的分层设计

    RSF 是个什么东西? 一个高可用.高性能.轻量级的分布式服务框架.支持容灾.负载均衡.集群.一个典型的应用场景是,将同一个服务部署在多个Server上提供 request.response 消息通知 ...

最新文章

  1. 使用Javascript创建XML文件
  2. 面试:说说参数验证 @Validated 和 @Valid 的区别?
  3. hdu 5092 线裁剪(纵向连线最小和+输出路径)
  4. 百炼OJ:2750:鸡兔同笼
  5. 融 360、中邮消费金融、作业帮分享数据分析产品选型心得
  6. rxjs里scan operators的用法
  7. 电信申请固定ip_各个代理ip之间的关系
  8. 详解volatile关键字
  9. JavaCard概述
  10. 尺取法---poj3601
  11. 起始之家网站的辅助教程值不值得买
  12. android自动计步_Android计步模块(类似微信运动)
  13. 为什么不要随便点击下载链接:过时的远程病毒灰鸽子木马示范
  14. Timestamp日期格式转换
  15. 如何利用信息差来创造价值?
  16. 如何讲网页保存为pdf文件
  17. 如何理解庄子所说的“吾生也有涯,而知也无涯。以有涯随无涯,殆己”?
  18. 微服务框架 SpringCloud微服务架构 27 自动补全 27.2 自定义分词器
  19. XVID解码器不弹出status窗口的办法
  20. 【测试沉思录】11. 如何进行基准测试?

热门文章

  1. 4.3 IP数据报格式
  2. MySQL中的分页查询
  3. cmd中的进度如何捕捉到输出内容_python 中日志异步发送到远程服务器
  4. 【程序人生】这一年 —— 2020
  5. java基础系列:集合基础(3)
  6. 2021-10-11 二叉树中查找值为key的结点
  7. Android真机调试打印日志的方法
  8. 06--MySQL自学教程:DML(Data Manipulation Language:数据库操作语言),只操作表
  9. cfs调度算法JAVA实现_关于CFS/BFS调度算法
  10. pythonos基础_python基础之模块之os模块