安全与风控
实现认证与授权系统时如何选择并落地安全模式(JWT/OAut…
在实现用户认证、保护 API、接入 OAuth2 登录、设计会话管理或排查认证授权问题时,提供可执行的安全实现要点。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
实现认证与授权系统时如何选择并落地安全模通用
解决思路
- 区分认证(AuthN,验证身份、签发凭证、管理登录登出)与授权(AuthZ,权限检查、RBAC、资源归属校验、策略执行),分别设计。
- 根据场景选择认证策略:会话式(服务端存状态、Cookie 存 Session ID,简单有状态)、令牌式 JWT(无状态自包含、可水平扩展、可存 claims)、OAuth2/OpenID Connect(委托认证、社交登录、企业 SSO)。
- 密码绝不存明文,始终用 bcrypt 或 argon2 哈希。
- 全程使用 HTTPS 加密传输数据。
- 访问令牌使用短有效期,最长 15-30 分钟。
- Cookie 设置 httpOnly、secure、sameSite 标志。
- 校验所有输入,包括邮箱格式与密码强度。
- 对认证端点做速率限制,防止暴力破解。
- 会话式认证需实现 CSRF 防护。
- 定期轮换密钥,包括 JWT secret 和 session secret。
- 记录安全事件,如登录尝试与认证失败。
- 尽可能启用 MFA 增加额外安全层。
- 避免弱密码,强制强密码策略。
- 不要把 JWT 存在 localStorage(易受 XSS),改用 httpOnly Cookie。
- 令牌必须设置过期时间。
- 不要只做客户端鉴权检查,始终在服务端校验。
- 密码重置使用带有效期的安全令牌。
- 不要信任客户端数据,始终在服务端验证。
- 需要更详细的模式与示例时,阅读 references/details.md。
适用边界 · 注意事项
- 需要具体代码级实现示例时,本技能只提供要点,需查阅 references/details.md。
- 非认证授权领域的一般业务逻辑开发。
- 已有成熟托管认证服务且无需自研时,可直接使用托管方案。