前面几篇我们已经介绍了Spring Cloud和oauth2的知识点,今天我们要利用
Spring Cloud和oauth2进行commonservice-sso服务搭建,本节我们只是搭建commonservice-sso的基础平台,闲话少说,直接将步骤记录下来:
1. 创建maven项目commonservice-sso,其中pom.xml文件配置如下:
2. 配置bootstrap.yml文件
-
spring:
-
application:
-
name: commonservice-sso
-
profiles:
-
active: dev,discoveryClient
-
cloud:
-
config:
-
discovery:
-
enabled: true
-
service-id: commonservice-config-server
-
eureka:
-
client:
-
service-url:
-
defaultZone: http://honghu:123456@localhost:8761/eureka
-
instance:
-
prefer-ip-address: true
3. 配置项目启动文件
-
package
com.ml.honghu;
-
-
import
org.springframework.boot.SpringApplication;
-
import
org.springframework.boot.autoconfigure.SpringBootApplication;
-
import
org.springframework.cloud.netflix.eureka.EnableEurekaClient;
-
-
@SpringBootApplication
-
@EnableEurekaClient
-
public
class
SSOApplication {
-
public
static
void
main(String[] args) {
-
SpringApplication.run(SSOApplication.
class
, args);
-
}
-
}
4. 创建sso相关表:
oauth_access_token、oauth_approvals、
oauth_client_details、oauth_client_token、
oauth_code、oauth_refresh_token
脚本如下:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
SET FOREIGN_KEY_CHECKS=
0
;
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_access_token`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_access_token`;
-
CREATE TABLE `oauth_access_token` (
-
`token_id` varchar(
256
) DEFAULT NULL,
-
`token` blob,
-
`authentication_id` varchar(
128
) NOT NULL,
-
`user_name` varchar(
256
) DEFAULT NULL,
-
`client_id` varchar(
256
) DEFAULT NULL,
-
`authentication` blob,
-
`refresh_token` varchar(
256
) DEFAULT NULL,
-
PRIMARY KEY (`authentication_id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_approvals`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_approvals`;
-
CREATE TABLE `oauth_approvals` (
-
`userId` varchar(
256
) DEFAULT NULL,
-
`clientId` varchar(
256
) DEFAULT NULL,
-
`scope` varchar(
256
) DEFAULT NULL,
-
`status` varchar(
10
) DEFAULT NULL,
-
`expiresAt` datetime DEFAULT NULL,
-
`lastModifiedAt` datetime DEFAULT NULL
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-- ----------------------------
-
-- Records of oauth_approvals
-
-- ----------------------------
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_client_details`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_client_details`;
-
CREATE TABLE `oauth_client_details` (
-
`client_id` varchar(
128
) NOT NULL,
-
`resource_ids` varchar(
256
) DEFAULT NULL,
-
`client_secret` varchar(
256
) DEFAULT NULL,
-
`scope` varchar(
256
) DEFAULT NULL,
-
`authorized_grant_types` varchar(
256
) DEFAULT NULL,
-
`web_server_redirect_uri` varchar(
256
) DEFAULT NULL,
-
`authorities` varchar(
256
) DEFAULT NULL,
-
`access_token_validity`
int
(
11
) DEFAULT NULL,
-
`refresh_token_validity`
int
(
11
) DEFAULT NULL,
-
`additional_information` varchar(
4096
) DEFAULT NULL,
-
`autoapprove` varchar(
256
) DEFAULT NULL,
-
PRIMARY KEY (`client_id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_client_token`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_client_token`;
-
CREATE TABLE `oauth_client_token` (
-
`token_id` varchar(
256
) DEFAULT NULL,
-
`token` blob,
-
`authentication_id` varchar(
128
) NOT NULL,
-
`user_name` varchar(
256
) DEFAULT NULL,
-
`client_id` varchar(
256
) DEFAULT NULL,
-
PRIMARY KEY (`authentication_id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-- ----------------------------
-
-- Records of oauth_client_token
-
-- ----------------------------
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_code`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_code`;
-
CREATE TABLE `oauth_code` (
-
`code` varchar(
256
) DEFAULT NULL,
-
`authentication` blob
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-- ----------------------------
-
-- Records of oauth_code
-
-- ----------------------------
-
-
-- ----------------------------
-
-- Table structure
for
`oauth_refresh_token`
-
-- ----------------------------
-
DROP TABLE IF EXISTS `oauth_refresh_token`;
-
CREATE TABLE `oauth_refresh_token` (
-
`token_id` varchar(
256
) DEFAULT NULL,
-
`token` blob,
-
`authentication` blob
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
备注: oauth的相关表是用来存储用户的token信息和认证信息的。
本节搭建先搭建那么多,后面的业务代码太多,我们会在后面的章节中放出来。
从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。(企业架构源码可以加求球:叁五三陆二肆柒二伍玖)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69984951/viewspace-2732938/
,如需转载,请注明出处,否则将追究法律责任。