核心登录方式对比
登录方式 | 技术实现 | 用户体验 | 安全性 | 适用场景 |
---|---|---|---|---|
账号密码登录 | 本地哈希存储+Session/token | 用户自主性强、但需要记住密码 | 依赖密码复杂度,多因素验证 | 自有平台,如:公司内网、交友软件 |
手机号登录 | 短信验证码+token验证 | 便捷、依赖运营商通讯 | 防止短信轰炸和验证码盗取 | 移动端高频场景,如:打车、外卖 |
第三方登录 | OAuth2.0 | 无需注册、可能暴露用户行为 | 依赖第三方服务安全性 | 降低登录门槛,如:工具类APP、内容社区 |
单点登录 | JWT 跨域token共享+中心化认证服务 | 便捷,单系统登录多系统通行 | 需要高安全运维能力+密码轮换 | 企业级系统集成,如:OA |
零信任登录 | 多因子认证+动态检测引擎 | 安全性高,但可能打断用户体验 | 持续验证+最小权限+微隔离 | 金融、政务、远程办公,如:VPN接入 |
生物识别登录 | 指纹、人脸识别+本地特征存储 | 便捷,但需硬件支持 | 防伪造能力依赖算法+活体检测 | 移动端高安全性场景,如:支付、银行APP |
无密码登录 | 硬件秘钥/设备绑定 | 便捷,无需记住密码 | 防钓鱼和暴力破解 | 企业级办公,如github |
Cookie、Session和Token的关系和区别
Cookie: 浏览器存储的身份凭证
Session:服务端存储的用户会话
Token:无状态的身份令牌
Cookie、Session和Token的对比
Cookie、Session和JWT Token的攻击面和防御措施对比
账号密码登录实现项目
源码: https://gitee.com/luyue_zhang/sso_oauth2/blob/master/single_sign_on/readme.md
单点登录&OAuth2.0
单点登录
源码: https://gitee.com/luyue_zhang/sso_oauth2/tree/master/sso
OAuth2.0
源码:https://gitee.com/luyue_zhang/sso_oauth2/blob/master/oauth2/readme.md