热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

为什么不再推荐密码模式

首先简单了解下密码模式的做法密码模式一般被应用于互相信任的内部系统,比如公司内部OA系统可以通过密码模式请求认证中心进行认证,步骤不会像授权码模式那么麻

首先简单了解下密码模式的做法

密码模式一般被应用于互相信任的内部系统,比如公司内部OA系统可以通过密码模式请求认证中心进行认证,步骤不会像授权码模式那么麻烦,不过用户的账户和密码还是归认证中心管理的,所以如果我们允许用户通过密码模式认证,那么用户就得知道维护在认证中心的账户和密码信息。

为什么不建议使用密码模式

认证中心统一维护和存储用户的账户和密码等数据,如果允许内部系统用密码模式来登录的话,那么内部系统的人就肯定得知道账户和密码了。我们可以想一想,假设微信是一个很大的认证中心,内部有个系统要接入微信登录,我们会选择把微信的账户和密码对这个系统开放,以此来支持密码模式么,很显然不可能,此时只要有开发在代码中留下后门,那么很可能内部用户在登录系统的同时,也会泄漏了自己的微信账户和密码。我们反向思考下,如果越少的人知道账户和密码,是不是我们的账户就会越安全,同理,作为统一认证中心,越少的客户端知道账户和密码,认证中心是不是就越安全。

还有一点就是,一开始客户端选择使用密码模式来登录,后续会不会加上验证码功能,手机号登录,邮箱登录等等,那么我们就得对该模式进行改造,用户认证需求一变化,我们代码就得跟着变化,这就有点违背了开闭原则了,而如果我们使用授权码,不仅安全,而且由于客户端和认证中心的协议是固定的,就意味着交互流程是固定的,那么此时认证需求的修改只需要改认证中心的代码,并不需要修改客户端代码。

总而言之,就是密码模式不安全而且不易扩展。


推荐阅读
author-avatar
mobiledu2502884677
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有