SSO单点登录系统进阶实现
核心知识点
认证服务器(sso-auth)中Token设计(UUID令牌,JWT令牌)
认证服务器(sso-auth)中Oauth2规范基本配置(认证入口-/oauth/token,为谁认证,由谁认证,认证后颁发什么令牌)
基于Postman,Http-Client工具进行认证测试?(请求方式,请求url,认证参数)
资源服务器(sso-resource)核心业务分析及认证,授权规则设计及实现(匿名,认证,鉴权/授权)
API网关工程设计及实现(所有外部请求对内部资源的访问入口)
客户端UI工程设计及实现(重点是如何传递令牌-“请求头”)
常见问题分析
Oauth2是什么?(协议,定义了完成认证和授权操作时所需要的一些对象以及这些对象应用方式)
SpringSecurity 是什么?(一个spring认证和授权框架,可以基于Oauth2协议进行认证和授权的落地实现)
JWT是什么?(是JSON WEB TOKEN这几个单词的缩写,描述的是web应用中的一种令牌格式)
JWT有几部分构成?(头:令牌类型,签名算法,负载:允许包含用户登录状态 ,签名:防止令牌被篡改)
为什么要采用JWT令牌?(可以存储用户登录状态信息,避免访问资源时从数据库查询认证信息)
基于Oauth2协议的认证服务器默认的令牌生成策略是什么?(UUID.randomUUID())
认证服务器中常见令牌相关设计中对应的存储方案有哪些?(Mysql,Redis,Jwt)
认证服务器对用户进行认证时,客户端提交了哪些关键信息?(username,password,client_id,grant_type,client_secret)
认证服务器完成认证操作后,服务端返回哪些信息?(访问令牌,刷新令牌,令牌类型,作用域,编号)
认