Go 语言项目开发实战
孔令飞
腾讯云资深工程师,前Red Hat、联想云工程师
新⼈⾸单¥69.9
3342 人已学习
课程目录
已更新 29 讲 / 共 54 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从 0 开始搭建一个企业级 Go 应用
免费
课前必学 (3讲)
01 | IAM系统概述:我们要实现什么样的 Go 项目?
02 | 环境准备:如何安装和配置一个基本的 Go 开发环境?
03 | 项目部署:如何快速部署 IAM 系统?
实战第 1 站:规范设计 (8讲)
04 | 规范设计(上):项目开发杂乱无章,如何规范?
05 | 规范设计(下):commit 信息风格迥异、难以阅读,如何规范?
06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?
07 | 工作流设计:如何设计合理的多人开发模式?
08 | 研发流程设计(上):如何设计 Go 项目的开发流程?
09 | 研发流程设计(下):如何管理应用的生命周期?
10 | 设计方法:怎么写出优雅的 Go 项目?
11 | 设计模式:Go常用设计模式概述
实战第2站:基础功能设计或开发 (12讲)
12 | API 风格(上):如何设计RESTful API?
13 | API 风格(下):RPC API介绍
14 | 项目管理:如何编写高质量的Makefile?
15 | 研发流程实战:IAM项目是如何进行研发流程管理的?
16 | 代码检查:如何进行静态代码检查?
17 | API 文档:如何生成 Swagger API 文档 ?
18 | 错误处理(上):如何设计一套科学的错误码?
19 | 错误处理(下):如何设计错误包?
20 | 日志处理(上):如何设计日志包并记录日志?
21 | 日志处理(下):手把手教你从 0 编写一个日志包
22 | 应用构建三剑客:Pflag、Viper、Cobra 核心功能介绍
23 | 应用构建实战:如何构建一个优秀的企业应用框架?
实战第3站:服务开发 (3讲)
24 | Web 服务:Web 服务核心功能有哪些,如何实现?
25 | 认证机制:应用程序如何进行访问认证?
26 | IAM项目是如何设计和实现访问认证功能的?
特别放送 (2讲)
特别放送 | 给你一份清晰、可直接套用的Go编码规范
特别放送 | 给你一份Go项目中最常用的Makefile核心语法
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

26 | IAM项目是如何设计和实现访问认证功能的?

你好,我是孔令飞。
上一讲,我们学习了应用认证常用的四种方式,今天我们来看下 IAM 项目是如何设计和实现认证功能的。
这一讲,我仍然通过 HTTP 服务来讲解认证功能。Basic、Digest、OAuth、Bearer 这四种常用的认证方式里,Go 后端服务中用得最多的是 Basic 和 Bearer 两种。其中,Basic 主要用在前端登陆的场景下,Bearer 主要用在调用后端 API 服务的场景下。
今天,我们通过 IAM 项目 iam-apiserver 和 iam-authz-server 服务认证功能的设计和实现,来看下在实际的 Go 项目开发中,具体是如何设计和实现认证功能的。

如何设计 IAM 项目的认证功能?

在认证功能开发之前,我们要根据需求,认真考虑下如何设计认证功能,并在设计阶段通过技术评审。那么我们先来看下,如何设计 IAM 项目的认证功能。
首先,我们要梳理清楚认证功能的使用场景和需求
IAM 项目的 iam-apiserver 服务,提供了 IAM 系统的管理流功能接口,它的客户端可以是前端(这里也叫控制台),也可以是 App 端。
为了方便用户在 Linux 系统下调用,IAM 项目还提供了 iamctl 命令行工具。
为了支持在第三方代码中调用 iam-apiserver 提供的 API 接口,还支持了 API 调用。
为了提高用户在代码中调用 API 接口的效率,IAM 项目提供了 Go SDK。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《Go 语言项目开发实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥69.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部