基础知识

随着互联网的迅猛发展,我们的应用架构从All in one发展到微服务架构,衍生出了各种各样包括大数据、云计算等的需求,另外区块链、AI、VR蓬勃发展也给我们的生活带来了无限可能,生活是多么美好。

今天我们就来聊聊微服务架构下的统一身份认证和授权,本文站在巨人的肩膀上讨论此问题,有任何建议望看到的大佬不吝赐教,同行共同探讨。

OAuth 2.0简介

维基百科解释OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。OAuth 2.0 Authorization Framework(RFC6749)是OAuth 1.0(RFC5849)协议的延续版本,但不向后兼容OAuth 1.0,即完全废止了OAuth1.0。OAuth 2.0为web应用程序、桌面应用程序、移动电话和智能设备提供了特定的授权流,推荐阅读阮一峰的理解OAuth 2.0

OAuth 2.0授权模式

OAuth 2.0定义了四种授权方式:

  • 授权码模式(authorization code)
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)

单点登录(SSO)简介

SSO英文全称 Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一,深入理解SSO请移步EzrealLiu的漫谈单点登录(SSO)

为了完成一个简单的SSO的功能,需要两个部分的合作:

1、统一的身份认证服务(CAS)。

2、修改Web应用,使得每个应用都通过这个统一的认证服务来进行身份校验。

CAS(中央认证服务)简介

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

上次更新:: 1/15/2019, 12:44:28 AM