欢迎各位兄弟 发布技术文章
这里的技术是共享的
是的。因为其实只是Base64编码而已,所以很容易就被解码了。
如果一个系统做到了开头所讲的效果,也就算单点登录,单点登录有不同的实现方式,本文就罗列我开发中所遇见过的实现方式。
最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,校验通过则登录当前用户。
SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。
基于Token的身份验证用来替代传统的cookie+session身份验证方法中的session。
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区别。
通过客户端的后台服务器,与“服务提供商”的认证服务器进行认证。(和授权码模式差不多哦)
作者: 阮一峰
项目文件见 github oAuth 是一种验证身份用的东西,QQ,微博,微信这些平台都提供这种验证身份的方法,在你的应用里可以实施这些平台提供的 oAuth 功能,让你的用户可以使用他们在这些平台上的帐号登录授权。这个课程介绍一下 oAuth 的工作流程。来自 https://ninghao.net/course/3193#info
2. 执行效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快一些。
PDO(PHP Data Object) 是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,如 php_mysql.dll。
$db_handle = new PDO('mysql:host=localhost;dbname=php_course;port=8889;charset=utf-8','root','root'); //这里 charset=utf-8 应该不起作用