3 Spring Security Oauth2研究
3.1 目标
本项目认证服务基于Spring Security Oauth2进行构建,并在其基础上作了一些扩展,采用JWT令牌机制,并自定
义了用户身份信息的内容。 本教程的主要目标是学习在项目中集成Spring Security Oauth2的方法和流程,通过
spring Security Oauth2的研究需要达到以下目标:
1、理解Oauth2的授权码认证流程及密码认证的流程。
2、理解spring Security Oauth2的工作流程。
3、掌握资源服务集成spring Security框架完成Oauth2认证的流程。
3.2 搭建认证服务器
3.2.1导入基础工程
导入“资料”目录下的 xc-service-ucenter-auth工程,该工程是基于Spring Security Oauth2的一个二次封装的工
程,导入此工程研究Oauth2认证流程。
3.2.2 创建数据库
导入资料目录下的 xc_user.sql,创建用户数据库
导入工程
day16 Spring Security Oauth2\资料\xc-service-ucenter-auth.zip
数据库和包
把文件复制到微服务的工程下
导入这个项目
看一下项目所依赖的包
查看配置文件。认证服务的端口是40400
有一个跟路径叫做/auth
最终会链接redis来存储令牌的信息
要访问Mysql的数据库
eureka的配置信息
认证服务器会访问一个证书文件,稍后讲jwt令牌的时候 会讲解这个证书是怎么用的
这是证书文件的存放位置
里面自带的一些代码
这是启动类
认证服务的一个配置
创建mysql数据库导入脚本
前六张表是Spring Security 自带的数据库表
oauth_client_details表记录系统内允许访问客户端的信息
client_id:客户端id
resource_ids:资源id(暂时不用)
client_secret:客户端密码
scope:范围
access_token_validity:访问token的有效期(秒)
refresh_token_validity:刷新token的有效期(秒)
authorized_grant_type:授权类型,authorization_code,password,refresh_token,client_credentials