posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 game golang 客户端开发 Minigame Saas rust Python Java cg Typescript
golang

《Go 语言编程实战》5.3 OAuth2/OIDC 与第三方登录

企业客户会问「能不能用我们自己的 SSO」,这时要接的不是用户名密码而是 OAuth2 授权码加 OIDC。本节在本机起真实身份提供方,把 discovery、PKCE、换 token、JWKS 验 ID token 跑通,实测 PKCE 不匹配与 state 不一致的拦截,记录 x/oauth2 靠 Content-Type 判断格式的踩坑,并给出外部身份与本地账号的绑定规则。

8 分钟阅读
Go Go 语言编程实战 OAuth2
golang

《Go 语言编程实战》5.2 RBAC 与多租户隔离

令牌解决了「你是谁」,但 viewer 和 owner 能做的事完全不同,而且不同租户的数据绝不能互相看见。本节给 TaskHub 建 owner/admin/member/viewer 四级角色与权限矩阵,把认证、租户与权限校验串成中间件链,再用一个真实的反面仓库演示「忘了带 tenant_id」如何导致跨租户泄漏,给出参数、类型与行级安全三种隔离实现,并用表驱动测试锁住权限边界。

7 分钟阅读
Go Go 语言编程实战 RBAC
golang

《Go 语言编程实战》5.1 JWT 与会话管理

上一章的接口任何人都能调用,本节给 TaskHub 装上认证。先用 jwt/v5 讲清 JWT 的三段结构与 claims 设计,把「锁死算法、校验 iss/aud/exp」五个必做项落成代码,实测篡改 payload、alg=none、过期、错签发者与算法混淆五种攻击的拦截结果,再用真实 Redis 做会话撤销与刷新令牌轮换,并对比本地校验与远程吊销检查近千倍的成本差。

7 分钟阅读
Go Go 语言编程实战 JWT