php单点登录oauth sso,单点登录SSO、CAS与OAuth2

基础概念

SSO 单点登录(Single sign-on)是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。(来自百度百科)

CAS 中央认证服务(Central Authentication Service)

CAS是一种针对Web的企业多语言单点登录解决方案,并试图成为您的认证和授权需求的综合平台。(https://github.com/apereo/cas)

CAS是一个企业级的开放源代码单点登录解决方案,包含Java服务器组件和各种用PHP,PL / SQL,Java等多种语言编写的客户端库。(https://wiki.jasig.org/display/CASUM/Introduction)

Kerberos 是一种计算机网络 认证协议。(来自wiki)

OpenID 是一种开放标准和分散的认证协议。

OAuth 是一种访问授权的开放标准。

SAML 安全断言标记语言(Security Assertion Markup Language) 是一种开放标准,用于在认证和授权数据之间交换身份验证和授权数据

LDAP 轻量级目录访问协议(Lightweight Directory Access Protocol )

CAS 协议

Kerberos协议

OAuth 2.0的运行流程

OAuth 2.0的运行流程如下图,摘自RFC 6749。

ca22c6c797a5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

OAuth 2.0的运行流程图

(A)用户打开客户端以后,客户端要求用户给予授权。

(B)用户同意给予客户端授权。

(C)客户端使用上一步获得的授权,向认证服务器申请令牌。

(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

(E)客户端使用令牌,向资源服务器申请获取资源。

(F)资源服务器确认令牌无误,同意向客户端开放资源。

授权码模式

ca22c6c797a5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

授权码模式运行流程图

(A)用户访问客户端,后者将前者导向认证服务器。

(B)用户选择是否给予客户端授权。

(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。

(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。

(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。

https://oauth.net/2/

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

关键技术

对称加密 DES AES

非对称加密 RSA

散列算法 MD5 SHA/SHA-1

数据签名

数据证书

HTTPS/SSL

Spring Security

其他相关

多因素认证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值