
go
文章平均质量分 79
F3nGaoXS
这个作者很懒,什么都没留下…
展开
-
结合OIDC和Cookie实现SSO
OIDC是一个协议,简单来讲就是OIDC规定有一个中心的Provider能够认证用户的凭据并且授权,即会返回AccessToken和IDToken等给受信任的Client,因为IDToken是JWT格式且包含登录用户的唯一标识,所以Client能够轻松地解析IDToken获取用户信息甚至存储到自身的数据库中。这里选用OIDC的原因是Client能够很好地解析IDToken获取用户信息。原创 2023-07-25 19:23:03 · 546 阅读 · 0 评论 -
搭建OIDC Provider,以Golang为例
具体要不要在访问资源的时候检查token是否过期可以根据需求,也可以在前端采用各种策略(如轮询)来检查用户token是否过期,过期即要求用户重新登录,此时的access_token就会是最新的了,访问资源的时候就不需要再重新刷新access_token了。在Github注册然后登录用户后,我们就能在我的Github里创建和查看自己的Repository(代码仓库,以下简称“Repo”),同时我有两个App,一个叫Gitee,Gitlab,这两个App实现了能够访问用Github登录的用户的Repo。原创 2023-07-21 11:04:50 · 1893 阅读 · 1 评论 -
读取配置文件godotenv
Go读取配置文件库godotenv原创 2022-10-11 18:09:44 · 1101 阅读 · 0 评论 -
go的解析命令行库go-flags
Go的标准库flag由于其有不支持短选项,选项定义比较繁琐,默认只支持有限的数据类型。为了解决这些问题,出现了不少第三方解析命令行选项的库,go-flags就是其中一个。go-flags提供了比标准库flag更多的选项,它利用结构体的标签tag和反射提供了一个方便、简洁的接口。除了基本的功能,还提供了其他丰富的特性:支持短选项-v和长选项-verbose支持短选项合写,如-aux同一选项可以设置多个值支持所有基础类型和map类型,甚至函数支持命名空间和选项组等等…原创 2022-09-02 16:27:52 · 925 阅读 · 0 评论 -
go的解析命令行库flag
flag和log一样是Go的标准库。flag用于解析命令行的选项。原创 2022-09-02 16:27:18 · 463 阅读 · 0 评论 -
go的日志库logrus
logrus完全兼容Go的标准日志库log。同时它还支持文本、JSON两种日志输出格式。原创 2022-08-17 16:34:56 · 880 阅读 · 0 评论 -
Go的依赖注入库dig
什么是dig?dig是uber的开源的实现了依赖注入的一个库。如果你熟悉Java的话,我相信你对大名鼎鼎的Spring以及SpringIoC一定会有所了解,SpringIoC就是Java的依赖注入的实现。而dig则是golang的依赖注入的实现,不过dig很小巧且简洁,只不过易用性相较于SpringIoC会差一点。第一个dig应用从配置文件中读取配置信息利用读取到的配置信息初始化简单的App对象最后对User对象进行打印安装库由于需要读取配置文件,所以我们需要用到godotenv库,如果你原创 2022-05-19 19:08:54 · 1306 阅读 · 0 评论 -
gRPC以及gRPC在go语言当中的应用
gRPC在go语言当中的应用,第一个gRPC应用请确保在进行后续的步骤时,确保电脑中有protobufMacOS可以利用brew install protobuf安装1、创建新的go项目项目名称:gitee.com/qingke.wu/hello-grpc/pbgo mod init gitee.com/qingke.wu/hello-grpc/pb.├── Makefile #常用的make命令,如go run,go test├── client #客户端├──原创 2021-12-22 17:58:04 · 530 阅读 · 0 评论 -
初识gRPC
初识gRPC1、认识RPCRPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议构建于TCP或UDP,或者是HTTP。允许开发者直接调用另一台服务器上的程序,而开发者无需另外的为这个调用过程编写网络通信相关代码,使得开发网络分布式程序在内的应用程序更加容易。RPC采用客户端/服务器端的工作模式,请求服务即客户端,服务提供者即是服务器端。当执行一个远程过程调用时,客户端程序首先先发送一个带有参数的原创 2021-12-22 17:56:49 · 396 阅读 · 0 评论 -
初识protobuf
protobuf在go语言中的应用1、什么是protobuf?protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结构,而不破坏原创 2021-12-22 17:55:13 · 219 阅读 · 0 评论 -
Gin框架的学习
什么是Gin?Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。 如果你是性能和高效的追求者, 你会爱上 Gin。中文官方文档地址安装Gin使用Go Modules安装Gin$ go get -u github.com/gin-gonic/gin第一个Gin应用创建main.go,注意目录结构,同时需要确保go.mod中已经引入gin│ go.mod│原创 2021-11-02 17:16:09 · 630 阅读 · 0 评论 -
golang的学习
非0基础的Golang的学习Golang的优势极简单的部署方式可直接编译成机器码不依赖其他库直接运行可部署静态类型的语言编译时能检查出隐藏的大多数问题语言层面的并发天生支持充分利用多核强大的标准库runtime系统调度机制高效的GC垃圾回收丰富的标准库简单易学25个关键字C语言简洁基因,内嵌C语法支持面向对象特征(继承、封装、多态)跨平台性“大厂”领军Google、fackbookTencent、Baidu(运维)、JDm原创 2021-11-01 18:41:16 · 292 阅读 · 0 评论