场景一 (主系统不管理权限):
第三方系统通过认证中心,获取用户的信息。
第三方系统进行权限管理,主系统只提供用户信息
QQ、微信、FaceBook、Github...
场景二 (主系统管理粗粒度权限):
第三方系统依赖于认证中心,获取用户及权限信息。
主系统管理账户体系、粗粒度权限体系
微信小程序、支付宝小程序...
场景三 (主系统管理所有权限):
第三方客户端完全依赖于主系统,获取用户及权限信息,一般共用cookie和session。
主系统管理账户体系、权限体系
OA系统、内部系统...
认证和授权
认证 Authentication:
CAS:
OpenID:
用户可以使用OpenID账户来登录任何一个接受OpenID认证的服务应用(the relying party,RP,依赖方)
SAML2:
作为一种安全性断言标记语言,SAML协议既可以用于认证也用于授权。
OAuth2:
是一种认证和授权的开放标准
多种手段:
授权码模式
简单模式
密码模式
客户端模式
第三方应用可以使用令牌在`限定时间`、`限定范围`访问`指定资源`
授权 Authorization:
ABAC:
可信关系访问控制模型
RBAC(基于角色的权限访问控制):
RBAC模型(关注点Role和User, Permission):
Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)。
What:权限针对的对象或资源(Resource、Class)。
How:具体的权限(Privilege,正向授权与负向授权)。
Operator:操作。表明对What的